DateFormatter 格式:2014-12-08T14:11:32.636Z

Posted

技术标签:

【中文标题】DateFormatter 格式:2014-12-08T14:11:32.636Z【英文标题】:DateFormatter for format : 2014-12-08T14:11:32.636Z 【发布时间】:2014-12-09 11:45:52 【问题描述】:

我有一个复杂的日期格式,我只需要将它处理为日期和时间。下面给出了我当前日期格式的示例。

当前格式:2014-12-08T14:11:32.636Z

我不确定某些字段是什么意思。下面给出了我想要从上面的例子中得到的。

firstString = "08-12-2014"
secondString = "14:11"

我已经尝试了很多日期格式,但都没有奏效。所以请帮助我。感谢您的宝贵时间。

【问题讨论】:

发布您尝试过的内容...我会解决您的问题... 【参考方案1】:
- (NSDate *)formatStringToDate:(NSString *)string

    NSDateFormatter *dateFormatter=[NSDateFormatter new];
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSSZ"];
    NSDate *date = [dateFormatter dateFromString:string];
    return date;

试试这个就行了……

【讨论】:

【参考方案2】:
// Date formatter for your date string: 2014-12-08T14:11:32.636Z
    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy'-'MM'-'dd'T'HH':'mm':'ss.SSS'Z'"];

    // Date from your string
    NSDate *date = [dateFormatter dateFromString:@"2014-12-08T14:11:32.636Z"];

    // T => Week Day
    // S => Fractional Second
    // Z => zone- Time Zone


    // Updating to your format for preffered style
    [dateFormatter setDateFormat:@"dd-MM-yyyy"];
    NSString *firstString = [dateFormatter stringFromDate:date];
    [dateFormatter setDateFormat:@"HH:mm"];
    NSString *secondString = [dateFormatter stringFromDate:date];

更多参考:http://unicode.org/reports/tr35/tr35-6.html#Date_Format_Patterns

【讨论】:

没有必要引用所有的标点符号。并且不要在格式字符串中引用Z。这会给出错误的结果。

以上是关于DateFormatter 格式:2014-12-08T14:11:32.636Z的主要内容,如果未能解决你的问题,请参考以下文章

在 Swift 中使用 DateFormatter 和 TimeZone 来格式化日期

SWIFT DateFormatter.dateFormat 格式是不是发生了变化?

使用 DateFormatter().date(from: String) 时返回的日期格式化程序

如何使用包含友好日期和月份的 DateFormatter 格式化日期

Java经典实例:使用DateFormatter来格式化日期时间

DateFormatter 返回零