【问题标题】:date formatter giving wrong dates in iOS?日期格式化程序在 iOS 中给出错误的日期?
【发布时间】:2016-06-27 19:24:43
【问题描述】:

我有一个应用程序,我在其中使用日期格式化程序来处理类似的字符串 “6/30/2016 1:00:00 PM”就像这样30-Jun-2016 1:00。我就是这样的

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"mm/dd/yyyy hh:mm:ss a"];
NSDate *date = [dateFormat dateFromString:dateStr];
[dateFormat setDateFormat:@"dd-MMM-yyyy hh:mm"];
NSString *stringDate = [dateFormat stringFromDate:date];
return stringDate;

但它并没有像 30-Jan-2016 1:00 这样给我错误的日期。

谁能指出我哪里出错了?

【问题讨论】:

  • 你的问题无法理解。
  • 在第二行 MM/dd/yyyy hh:mm:ss 中使用此日期格式。结果,我得到了 2016 年 6 月 30 日 01:00。

标签: ios objective-c nsdate nsdateformatter


【解决方案1】:

您提供了错误的日期格式,您需要将月份大写 MM 不小,小 mm 是分钟。像这样更改您的代码。

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss a"];
NSDate *date = [dateFormat dateFromString:dateStr];
[dateFormat setDateFormat:@"dd-MMM-yyyy hh:mm"];
NSString *stringDate = [dateFormat stringFromDate:date];
return stringDate;

希望这会对你有所帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 2019-07-15
    相关资源
    最近更新 更多