【问题标题】:How to change date format from mm/dd/yyyy to yyyy/mm/dd in iphone? [duplicate]如何在 iphone 中将日期格式从 mm/dd/yyyy 更改为 yyyy/mm/dd? [复制]
【发布时间】:2013-11-13 12:09:59
【问题描述】:

我对 ios 比较陌生。我想将 textField 输入的日期(mm/dd/yyyy)格式更改为(yyyy/mm/dd)并将结果日期存储在字符串中。请你帮我解决这个问题。

例如,如果我将在 textField 中输入日期,例如 11/23/2013(mm/dd/yyyy)。它必须更改为 2013/11/23(yyyy/mm/dd) 并将其存储在字符串中。提前致谢。

【问题讨论】:

  • 最佳实践,将日期存储为NSDate,这是自格林威治标准时间 2001 年 1 月 1 日第一个时刻以来的时间。这样,它不依赖于时区、夏令时/冬令时或格式。这样,世界不同地区的两个人同时保存当前时间将同时保存相同的时间,格林威治标准时间。当您想显示它时,请酌情使用 NSDateFormatter。
  • 奇怪!这个问题正在拉票。可能@Ramesh 做错了投票。问题应该很接近,因为它很常见。
  • +1 来自 @Zaph 的最佳实践建议。
  • @The Tiger 可能是因为妈妈们有这个问题并在查看新问题时看到它。他们不在乎这是一个常见问题还是有其他答案,他们只是对这个问题产生共鸣。

标签: ios objective-c uitextfield nsdate nsdateformatter


【解决方案1】:

这应该做你想做的事:

NSString *dateString = @"11-13-2013";
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM-dd-yyyy"];
NSDate *date = [dateFormatter dateFromString:dateString];

// Convert date object into desired format
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *newDateString = [dateFormatter stringFromDate:date];

【讨论】:

    【解决方案2】:

    你可以使用dd/MM/yyyy hh:mm:ss a格式化你的字符串

    示例代码:

    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"dd/MM/yyyy hh:mm:ss a"];
    NSLog(@"%@", [dateFormatter dateFromString:@"12/12/2012 12:12:12 AM"]);
    

    请注意 SS/ss MM/mm 不同。其中 MM 代表月 mm 代表分钟等。 更多详情请check the Apple Docs

    【讨论】:

      猜你喜欢
      • 2011-03-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-29
      • 2016-03-13
      相关资源
      最近更新 更多