iOS日期格式,以毫秒和时区为准

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS日期格式,以毫秒和时区为准相关的知识,希望对你有一定的参考价值。

我正在尝试使用以下格式为ios应用程序格式化objective-c中的日期:

2017-02-15T16:32:59.9725843+11:00 

没有运气。我试过了:

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeZone:[NSTimeZone localTimeZone]];
formatter.dateFormat = @"yyyy-MM-dd'T'hh:mm:ss.SSSSSSSZZZZZ";

formatter.dateFormat = @"yyyy-MM-dd'T'hh:mm:ss.fffffffZZZZZ";

以及毫秒和时区的一堆其他格式(我改变了S和Z的数量而没有运气。我得到的只是一个零NSString。

任何帮助,将不胜感激。

答案

你的字符串时间格式是24小时,所以在这个地方HH:mm:ss.使用hh:mm:ss.

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setTimeZone:[NSTimeZone localTimeZone]];
formatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSSSSSZZZZZ";
NSDate *getDate  = [formatter dateFromString:@"2017-02-15T16:32:59.9725843+11:00"];

NSLog(@"getDate == %@",getDate);

输出:

xcode output

另一答案

这是.SSS,毫秒检查这个Unicode Locale Data Markup Language spec

尝试此代码毫秒:

"yyyy-MM-dd'T'HH:mm:ss.SSS"
另一答案

您还可以查看nsdateformatterDataFormatting

NSDateFormatter *dateformatter = [[NSDateFormatter alloc] init];
[dateformatter setTimeZone:[NSTimeZone localTimeZone]];
dateformatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSSSSSZZZZZ";
NSString *currentDate  = [dateformatter stringFromDate:[NSDate date]];

NSLog(@"current Date :%@ ",currentDate);

输出:

current Date :2017-02-15T11:35:11.7790000+05:30 

以上是关于iOS日期格式,以毫秒和时区为准的主要内容,如果未能解决你的问题,请参考以下文章

将iso日期格式的字符串转换为毫秒。 ISO日期格式包含(“ yyyy-MM-dd”),并且没有时区

vue.js怎样将时间戳转化为日期格式

IOS - 以 GMT 格式获取设备的当前时区

Joda Time 将时区日期时间转换为毫秒

如何在 iOS/XCode 中将毫秒时间戳转换为日期和时间?

来自毫秒和时区的Javascript日期[重复]