Tôi đang cố gắng để có được ngày hiện tại với việc thêm múi giờ của thiết bị nhưng được hiển thị trễ 1 giờ mà ngày ban đầu. Tôi điều, tôi đang gặp vấn đề về DaylightSavingTime. Cách tắt isDaylightSavingTime = FALSE.Làm cách nào để nhận NSDate hiện tại giống với Ngày mô phỏng? iPhone Sdk
đây là mã, tôi đã sử dụng ..
NSDate *date = [NSDate Date];
NSTimeZone *currentTimeZon = [NSTimeZone localTimeZone];
if ([currentTimeZon isDaylightSavingTime])
{
NSLog(@"East coast is NOT on DT");
}
else
{
NSLog(@"East coast is on DT");
}
NSTimeInterval timeZoneOffset = [currentTimeZon secondsFromGMTForDate:currentDate];
NSTimeInterval gmtTimeInterval = [date timeIntervalSinceReferenceDate] - timeZoneOffset;
NSDate *gmtDate = [NSDate dateWithTimeIntervalSinceReferenceDate:gmtTimeInterval];
NSLog(@"### Announcement gmtDate = %@",gmtDate);
Tôi nhận được thời gian với chênh lệch 1 Giờ, ngày là perfact.
Chỉ có một NSD cho mỗi thời điểm (không quan trọng bạn đang ở đâu). Nếu bạn muốn in ngày trong một múi giờ khác nhau sử dụng NSDateFormatter. –
Ya, nhưng tôi muốn chức năng chung sẽ tự động thay đổi theo sự thay đổi múi giờ. có một vấn đề khi isDaylightSavingTime = FALSE. vì vậy tôi muốn đặt isDaylightSavingTime = TRUE nhưng tôi không thể làm điều đó – Sujal