如何将字符串日期转换为不同的字符串日期? [复制]

Posted

技术标签:

【中文标题】如何将字符串日期转换为不同的字符串日期? [复制]【英文标题】:How to convert String date to a different String date? [duplicate] 【发布时间】:2017-05-02 23:59:31 【问题描述】:

我想将December 20, 2016 转换为12/20/16

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

【问题讨论】:

***.com/questions/37923481/… 和 ***.com/questions/31040718/… 和 ***.com/questions/34826282/… 和 ***.com/questions/39159324/… 可能重复 查看副本中的答案时,请记住,您需要调整格式以满足您的特定需求。 基于将一种格式的日期字符串转换为另一种格式的另一种日期字符串的许多示例(这是您要求做的),edit 您的问题与您尝试的代码和清楚地说明您遇到了什么问题。 【参考方案1】:

是的,您可以使用 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"

【讨论】:

问题问如何将第一个字符串转换成第二个字符串。这只是答案的一半。而且这个问题肯定有很多重复。 问题是如何将日期字符串(没有时间)转换为日期。 这就是标题所说的,但问题显示了两个不同的日期字符串。 String date to NSDate? 而且日期格式完全不同。我很确定他的目标是获取日期而不是字符串 没错,两种不同的日期字符串格式。该问题意味着从一个字符串转换为与问题标题不同的另一个字符串。无论如何,我们真的需要另一个日期转换问题吗?请投票关闭此类骗局,而不是发布之前已发布过很多次的另一个答案。 :)

以上是关于如何将字符串日期转换为不同的字符串日期? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何将字符串转换为日期时间? [复制]

如何将日期字符串转换为具有不同日期格式的时间戳?

Java中从字符串到sql日期的日期转换给出不同的输出? [复制]

如何在python中将字符串日期转换为日期时间格式? [复制]

如何将日期(“Ymd”)的输出转换为 PHP 中的数字? [复制]

如何在 C# 中将日期字符串转换为 DateTime 对象? [复制]