iOS: 我应该使用 EST 还是 EDT,为什么?
iOS: What should I use EST or EDT and why?
不久前我问了一个关于时区的问题,我使用的是 EST。用户建议我使用 EDT。我想知道为什么我应该使用一个或另一个,因为它们都为我打印相同的时间。这是更好地说明我的意思的代码。
NSDate *today = [NSDate date];
NSDateFormatter *edtDf = [[NSDateFormatter alloc] init];
[edtDf setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"EDT"]];
[edtDf setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *stringDate = [edtDf stringFromDate:today];
NSLog(@"The EDT is %@", stringDate);
NSDate *today1 = [NSDate date];
NSDateFormatter *estDf = [[NSDateFormatter alloc] init];
[estDf setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"EST"]];
[estDf setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *stringDate1 = [estDf stringFromDate:today1];
NSLog(@"The EST is %@", stringDate1);
它们可能会根据一年中的时间打印不同的内容(因为一年中的时间决定了夏令时是否处于活动状态)。
不要使用EST
或EDT
。使用 US/Eastern
或 America/New_York
:
NSTimeZone *tz = [NSTimeZone timeZoneWithName:@"US/Eastern"];
// or
NSTimeZone *tz = [NSTimeZone timeZoneWithName:@"America/New_York"];
这些时区在一年中的正确时间根据夏令时进行调整。
不久前我问了一个关于时区的问题,我使用的是 EST。用户建议我使用 EDT。我想知道为什么我应该使用一个或另一个,因为它们都为我打印相同的时间。这是更好地说明我的意思的代码。
NSDate *today = [NSDate date];
NSDateFormatter *edtDf = [[NSDateFormatter alloc] init];
[edtDf setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"EDT"]];
[edtDf setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *stringDate = [edtDf stringFromDate:today];
NSLog(@"The EDT is %@", stringDate);
NSDate *today1 = [NSDate date];
NSDateFormatter *estDf = [[NSDateFormatter alloc] init];
[estDf setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"EST"]];
[estDf setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
NSString *stringDate1 = [estDf stringFromDate:today1];
NSLog(@"The EST is %@", stringDate1);
它们可能会根据一年中的时间打印不同的内容(因为一年中的时间决定了夏令时是否处于活动状态)。
不要使用EST
或EDT
。使用 US/Eastern
或 America/New_York
:
NSTimeZone *tz = [NSTimeZone timeZoneWithName:@"US/Eastern"];
// or
NSTimeZone *tz = [NSTimeZone timeZoneWithName:@"America/New_York"];
这些时区在一年中的正确时间根据夏令时进行调整。