iOS: NSDateFormatter 当前日期以毫秒显示破折号
iOS: NSDateFormatter current date with millisecond showing dashes
我正在尝试实现 NSDate 以生成具有以下格式的当前日期:
2017-06-14T15:38.000Z
我尝试了以下实现:
-(void)currentDate
{
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [NSDateFormatter new];
NSTimeZone *destinationTimeZone = [NSTimeZone systemTimeZone];
formatter.timeZone = destinationTimeZone;
[formatter setDateStyle:NSDateFormatterLongStyle];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.ZZZ"];
NSString *dateString = [formatter stringFromDate:date];
NSLog(@"%@",dateString);
}
但这是我得到的格式日期字符串:
2017-06-14T14:08:56.-0700
任何人都知道如何设置我的 NSDateFormatter 以获得以下日期格式:
2017-06-14T15:38.000Z
非常感谢你的帮助。
您正在将 NSDateFormatter
的时区设置为 systemTimeZone
。因此输出始终是您设备的时区(-7h w.r.t UTC 时间)。
修复方法如下:
-(void)currentDate
{
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [NSDateFormatter new];
NSTimeZone *destinationTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];
formatter.timeZone = destinationTimeZone;
[formatter setDateStyle:NSDateFormatterLongStyle];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.ZZZ"];
NSString *dateString = [formatter stringFromDate:date];
NSLog(@"%@",dateString);
}
输出:
2017-06-15T05:11:35.+0000
我正在尝试实现 NSDate 以生成具有以下格式的当前日期:
2017-06-14T15:38.000Z
我尝试了以下实现:
-(void)currentDate
{
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [NSDateFormatter new];
NSTimeZone *destinationTimeZone = [NSTimeZone systemTimeZone];
formatter.timeZone = destinationTimeZone;
[formatter setDateStyle:NSDateFormatterLongStyle];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.ZZZ"];
NSString *dateString = [formatter stringFromDate:date];
NSLog(@"%@",dateString);
}
但这是我得到的格式日期字符串:
2017-06-14T14:08:56.-0700
任何人都知道如何设置我的 NSDateFormatter 以获得以下日期格式:
2017-06-14T15:38.000Z
非常感谢你的帮助。
您正在将 NSDateFormatter
的时区设置为 systemTimeZone
。因此输出始终是您设备的时区(-7h w.r.t UTC 时间)。
修复方法如下:
-(void)currentDate
{
NSDate *date = [NSDate date];
NSDateFormatter *formatter = [NSDateFormatter new];
NSTimeZone *destinationTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"];
formatter.timeZone = destinationTimeZone;
[formatter setDateStyle:NSDateFormatterLongStyle];
[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.ZZZ"];
NSString *dateString = [formatter stringFromDate:date];
NSLog(@"%@",dateString);
}
输出:
2017-06-15T05:11:35.+0000