【问题标题】:Modify date format of a string修改字符串的日期格式
【发布时间】:2015-05-17 18:28:46
【问题描述】:

我正在尝试在 Swift 中修改字符串的日期格式。

我需要将我的日期打印成法语格式:

2015 年 5 月 17 日

我试过这个:

var myDate = "2015-05-17 13:00:00"
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "d MMMM"
var readableDate = dateFormatter.dateFromString(myDate)
println("Readable date = \(readableDate!)")

我在运行程序时获得了nil 值,但我不明白为什么。

【问题讨论】:

  • 查看之前关于该主题的一万个问题中的任何一个。 (或者,恐怖的恐怖,实际阅读文档。)
  • 如果你有myDate作为字符串,那么你真的需要两个格式化程序,一个将这个yyyy-MM-dd HH:mm:ss字符串转换为NSDate对象,另一个将NSDate转换回法语格式的字符串。对于后一种格式化程序,我可能建议您不要指定任何 dateFormat 字符串,而只需指定 dateStyle,并让它以最终用户的本地化设置指定的格式表示日期。
  • 另外,从您的问题中不清楚这个原始字符串中的时间是在最终用户的本地时区还是 GMT 中。所以你可能也想确认一下。

标签: swift nsdateformatter


【解决方案1】:

.dateFromString从字符串创建 NSDate()。字符串的格式必须设置为.dateFormat

您将格式设置为“d MMMM”,但您的 myDate 变量不符合该格式。

我相信你想用你的“d MMMM”格式制作一个过时的字符串。 以这段代码为起点:

var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "d MMMM"
var readableDate = dateFormatter.stringFromDate(NSDate())
println("Readable date = \(readableDate)")

查看Class Reference for NSDate 以获得更多帮助

【讨论】:

  • 谢谢,这似乎是我要找的。​​span>
  • 很高兴听到。尝试后请标记答案为正确
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-07-04
  • 2016-06-25
  • 1970-01-01
  • 2011-05-04
  • 2023-03-18
  • 2021-05-07
相关资源
最近更新 更多