swift-将字符串转换为日期,然后转换为其他格式的字符串

库纳尔·乔拉(Kunal Chawla)

假设我有一个简单的String,它是从一个字符串数组中提取的(代表日期)-

var myDateString = "2015-11-25 04:31:32.0"

现在,我想将其转换为类似于2015年11月25日的字符串

为此,我认为我需要-

  • 使用NSDateFormatter从字符串获取NSDate日期对象
  • 通过使用某些功能从NSDate对象获取字符串(我一直找不到)

我曾在Playground中尝试过此方法,但无法解决如此简单的问题。

这是我尝试过的-

Line 1| var dateFormatter = NSDateFormatter()
Line 2| dateFormatter.locale = NSLocale.currentLocale()
Line 3| dateFormatter.dateFormat = "YYYY-MM-dd HH:mm:ss.A"
Line 4| let somedate = dateFormatter.dateFromString(str)
Line 5| let somedateString = dateFormatter.stringFromDate(somedate!)

在Xcode的侧边栏中,将打印第4行"Nov 25, 2015, 12:00 AM",但是当我尝试从中打印字符串时somedate,会得到"2015-11-25 00:00:00.0"

我在任何地方都找不到对NSDates的正确解释。

在Java中,使用Datesparse()format()函数可以轻松得多

罗素

已为Swift 3.0更新

您需要两个日期格式化程序-一个用于理解您的输入字符串并转换为NSDate的日期格式化程序,另一个用于创建输出字符串的格式化程序

    let myDateString = "2016-01-01 04:31:32.0"

    let dateFormatter = DateFormatter()
    dateFormatter.dateFormat = "yyyy-MM-dd HH:mm:ss.A"
    let myDate = dateFormatter.date(from: myDateString)!

    dateFormatter.dateFormat = "MMM dd, YYYY"
    let somedateString = dateFormatter.string(from: myDate)

我已经更新了此答案,将日期格式从YYYY更改为yyyy。在大多数情况下,两者之间没有区别,但是YYYY可能会将一年的前几天视为上一年的最后一个完整周的一部分。

Apple开发人员指南对此进行了解释。

一个常见的错误是使用YYYY。yyyy指定日历年,而YYYY指定在ISO年周日历中使用的年份(“年中的一周”)。在大多数情况下,yyyy和YYYY产生相同的数字,但是它们可能不同。通常,您应该使用日历年。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Swift:如何将String转换为具有时间格式的字符串?

来自分类Dev

将Swift CChar数组转换为字符串

来自分类Dev

将结构体中的C字符串转换为Swift字符串

来自分类Dev

将Swift字典转换为字符串

来自分类Dev

Swift:将字符串转换为整数

来自分类Dev

Swift:将字符串转换为变量名

来自分类Dev

将PathForResource转换为返回nil Swift的字符串

来自分类Dev

使用Swift将JSON字符串转换为NSDictionary

来自分类Dev

如何将日期字符串从Rails转换为Swift

来自分类Dev

Swift CodeUnit转换为字符串

来自分类Dev

Swift2将字符串转换为NSData

来自分类Dev

将Swift字符串数组转换为C字符串数组指针

来自分类Dev

将C字符串数组转换为Swift字符串数组

来自分类Dev

将Swift字符串转换为swift-currency / USD格式的最佳方法是什么?

来自分类Dev

SWIFT-将数组下转换为字符串

来自分类Dev

将字符串数组转换为Double,然后在Swift中计算总和

来自分类Dev

swift-将字符串转换为NSDate

来自分类Dev

Swift2将字符串转换为NSData

来自分类Dev

Swift如何将字符串转换为NSDate

来自分类Dev

使用 dateFormatter 和 Swift 将字符串日期转换为日期不起作用

来自分类Dev

将十六进制转换为 Swift 格式的字符串以保持相同的位数

来自分类Dev

如何在swift 3中将日期字符串转换为日期

来自分类Dev

将 C# 日期字符串转换为 swift3 日期时出错

来自分类Dev

Swift 将字符串格式的 NSMutableArray 转换为 NSMutableArray

来自分类Dev

将 Android Java 格式的字符串转换为 Swift

来自分类Dev

将字符串转换为运算符 - swift

来自分类Dev

无法将字符串转换为双 Swift

来自分类Dev

无法在swift 4中将时间戳日期转换为字符串

来自分类Dev

Swift 将日期字符串转换为日期

Related 相关文章

  1. 1

    Swift:如何将String转换为具有时间格式的字符串?

  2. 2

    将Swift CChar数组转换为字符串

  3. 3

    将结构体中的C字符串转换为Swift字符串

  4. 4

    将Swift字典转换为字符串

  5. 5

    Swift:将字符串转换为整数

  6. 6

    Swift:将字符串转换为变量名

  7. 7

    将PathForResource转换为返回nil Swift的字符串

  8. 8

    使用Swift将JSON字符串转换为NSDictionary

  9. 9

    如何将日期字符串从Rails转换为Swift

  10. 10

    Swift CodeUnit转换为字符串

  11. 11

    Swift2将字符串转换为NSData

  12. 12

    将Swift字符串数组转换为C字符串数组指针

  13. 13

    将C字符串数组转换为Swift字符串数组

  14. 14

    将Swift字符串转换为swift-currency / USD格式的最佳方法是什么?

  15. 15

    SWIFT-将数组下转换为字符串

  16. 16

    将字符串数组转换为Double,然后在Swift中计算总和

  17. 17

    swift-将字符串转换为NSDate

  18. 18

    Swift2将字符串转换为NSData

  19. 19

    Swift如何将字符串转换为NSDate

  20. 20

    使用 dateFormatter 和 Swift 将字符串日期转换为日期不起作用

  21. 21

    将十六进制转换为 Swift 格式的字符串以保持相同的位数

  22. 22

    如何在swift 3中将日期字符串转换为日期

  23. 23

    将 C# 日期字符串转换为 swift3 日期时出错

  24. 24

    Swift 将字符串格式的 NSMutableArray 转换为 NSMutableArray

  25. 25

    将 Android Java 格式的字符串转换为 Swift

  26. 26

    将字符串转换为运算符 - swift

  27. 27

    无法将字符串转换为双 Swift

  28. 28

    无法在swift 4中将时间戳日期转换为字符串

  29. 29

    Swift 将日期字符串转换为日期

热门标签

归档