2017-05-02 150 views
-7

我想将December 20, 2016转换为12/20/16如何将字符串日期转换为不同的字符串日期?

12月20日是字符串格式。不太确定我是否可以使用NSDateFormatter。我不会MM/DD/YYYY到YYYY:DD:MM之类的东西。我想转换字符串December 20, 2016,并将其转换为12/20/16

+0

http://stackoverflow.com/questions/37923481/convert-date-string-swift的可能的复制?noredirect = 1&lq = 1和http://stackoverflow.com/questions/31040718/convert-a-date-string-to-yyyy-mm-dd-hhmmss-format-in-android-swift和http:// stackoverflow .com/questions/34826282/swift-convert-a-string-to-a-date-and-then-to-a-string-in-a-different-format和http://stackoverflow.com/questions/39159324/convert-date-formatter-to-another-date-formatter – rmaddy

+0

在复制副本中的答案时,请记住,您需要调整格式以符合您的特定需求。 – rmaddy

+0

基于将一种格式的日期字符串转换为另一种格式的日期字符串(这就是您要求的)的许多例子,用您的尝试代码编辑您的问题,并清楚地解释您遇到的问题。 – rmaddy

回答

0

是的,你可以使用DateFormatter(在Swift 3中没有NS,这同样适用于Date不是NSDate)。要正确解析您的日期字符串,你需要使用的日期格式"MMMM dd, yyyy",并设置日期格式语言环境"en_US_POSIX"

let string = "December 20, 2016" 
let formatter = DateFormatter() 
formatter.locale = Locale(identifier: "en_US_POSIX") 
formatter.dateFormat = "MMMM dd, yyyy" 

if let date = formatter.date(from: dateString) { 
    print(date) // "2016-12-20 02:00:00 +0000\n" 
    formatter.dateStyle = .short 
    let stringFromDate = formatter.string(from: date) // "12/20/16" 
} 
+0

问题问如何将第一个字符串转换为第二个字符串。这只是答案的一半。而且这个问题肯定有很多重复。 – rmaddy

+0

问题是如何将日期字符串(没有时间)转换为日期。 –

+0

这就是标题说的,但问题显示了两个不同的日期字符串。 – rmaddy