Swift中如何用一行代码将当前时间转换为字符串?
在Swift中一行代码转换当前日期/时间为字符串
当然可以!在Swift里用一行代码实现当前日期时间转字符串完全没问题,核心是利用DateFormatter,我们可以把初始化、配置和转换的逻辑打包成一行:
自定义格式实现
如果你需要固定格式的字符串(比如2024-05-20 14:30:00这种),可以用立即执行的闭包来写:
let dateString = { let f = DateFormatter(); f.dateFormat = "yyyy-MM-dd HH:mm:ss"; return f.string(from: Date()) }()
这里的dateFormat可以根据你的需求调整,比如yyyy/MM/dd hh:mm a会输出带AM/PM的12小时制格式(像2024/05/20 02:30 PM)。
本地化系统样式实现
如果想要适配用户系统语言和区域的默认格式,也能一行搞定:
let dateString = { let f = DateFormatter(); f.dateStyle = .medium; f.timeStyle = .medium; return f.string(from: Date()) }()
这里的.medium可以替换成.short(短格式,比如5/20/24 2:30 PM)、.long(长格式,比如May 20, 2024 2:30:00 PM CST)或者.full(完整格式,比如Monday, May 20, 2024 2:30:00 PM China Standard Time)。
小提示:如果你的代码里需要频繁转换日期,建议把DateFormatter实例缓存起来复用,避免重复创建的性能开销,但单从“一行代码完成转换”的需求来看,上面的写法完全符合要求。
内容的提问来源于stack exchange,提问作者Andrew L.
相关产品推荐
相关产品推荐

