【问题标题】:Converting Date+Time Formats转换日期+时间格式
【发布时间】:2011-08-20 19:56:18
【问题描述】:

我需要使用 NSDateFormatter 将以下格式转换为新格式。

'2011 年 3 月 25 日星期五 10:16:00 -0700'。

我尝试使用 "aaa, dd bbb YYYY HH:MM:SS ZHHMM" 作为格式,但它不起作用;它给了我一个过去的约会方式。

我还需要在创建新日期时将其转换为东部时区。

我使用的代码如下:

NSDateFormatter *newDateFormatter = [[NSDateFormatter alloc] init]; 
[newDateFormatter setDateFormat:@"dd MMM YYYY HH:mm:SS"];

【问题讨论】:

  • 请以尽可能完整的形式显示您尝试使用的代码。

标签: timezone nsdate nsdateformatter nscalendar


【解决方案1】:

让我们把这个字符串分解成不同的部分:

2011 年 3 月 25 日星期五 10:16:00 -0700 变为:

  • Fri:星期几的缩写
  • 25:一个月中可能补零的一天
  • 三月:缩写月份
  • 2011:年
  • 10:可能是零填充小时(采用 24 小时格式,因为没有 AM/PM)
  • 16:可能是零填充分钟
  • 00:零填充秒
  • -0700:时区偏移

现在让我们看看date format patterns that NSDateFormatter supports

  • 星期的缩写:EEE
  • 一个月中的零填充日:dd
  • 缩写月份:MMM
  • 年:y
  • 零填充小时(24 小时制):HH
  • 零填充分钟:mm
  • 零填充秒:ss
  • 时区偏移:ZZZ

因此,您的格式字符串应该是:@"EEE, dd MMM y HH:mm:ss ZZZ"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多