【问题标题】:Convert Unix Timestamps into a date [duplicate]将Unix时间戳转换为日期[重复]
【发布时间】:2025-12-17 13:10:02
【问题描述】:

所以我有一个巨大的 Unix 时间戳文件,我想将它们转换为日期。

这就是我的 .txt 文件的外观。

1529837880,xx.xx,xx.
1529837940,xx.xx,xx.
1529838000,xx.xx,xx.
1529838060,xx.xx,xx.
1529838120,xx.xx,xx.

我已经创建了一个存储所有这些数字的字符串。

我想要的格式应该是这样的:

20130616 060300;xx.xx,xx. // 2013 06 16 - 06:03
20130616 060400;xx.xx,xx.
20130616 060500;xx.xx,xx.
20130616 060600;xx.xx,xx.
20130616 060700;xx.xx,xx.
20130616 060800;xx.xx,xx.

我的字符串是这样的

var str = """

    1529837880,xx.xx,xx.
    1529837940,xx.xx,xx.
    1529838000,xx.xx,xx.
    1529838060,xx.xx,xx.
    1529838120,xx.xx,xx.

"""

那我该怎么做呢?

【问题讨论】:

  • 查看副本中的答案时,请务必查看使用 Date 的答案,而不是使用 NSDate 的旧答案。

标签: swift unix timestamp


【解决方案1】:

您可以使用 Date.init(timeIntervalSince1970:) 将 Unix 时间戳(表示为 TimeInterval aka Double)转换为 Date 值。

然后,第二步是创建和配置合适的DateFormatter 以将日期输出为所需格式的字符串(使用DateFormatter.string(from:) 方法)。

【讨论】:

  • 所以你的意思是str.Date.init(NSTimeIntervalSince1970)?因为我得到一个错误:value of type 'String' has no member 'Date'
最近更新 更多