You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS 15下使用Swift新日期格式化器生成自定义格式日期字符串的方法

iOS 15 日期格式化:自定义分隔符为 **

嘿,刚好对iOS 15的新日期格式化API熟得很,你原来的代码用的是.dateTime的预设链式配置,默认会用系统区域的分隔符(比如-),要改成**作为分隔符的话,得自定义格式模板才行,给你两种靠谱的实现方式:

方法一:直接使用自定义格式字符串

这种方式最直接,直接把你想要的格式模板传给formatted方法:

let date = Date()
let formattedDate = date.formatted(.init(format: "\(year: .defaultDigits) ** \(month: .twoDigits) ** \(day: .twoDigits)"))
// 输出示例:"2022 ** 06 ** 19"

方法二:链式调用结合自定义格式

如果你习惯用.dateTime的链式写法,也可以在最后通过.format()方法替换分隔符:

let date = Date()
let formattedDate = date.formatted(
    .dateTime
    .year() // 默认输出四位年份
    .month(.twoDigits) // 强制两位月份
    .day() // 默认输出两位日期
    .locale(.init(identifier: "en_US_POSIX")) // 避免系统区域影响格式稳定性
    .format(.init(string: "\(year) ** \(month) ** \(day)"))
)

小提示

加上locale(.init(identifier: "en_US_POSIX"))很重要,它能确保你的格式不会因为用户的系统区域设置(比如非英文地区)而改变,保证年份始终是四位、月份日期是两位,分隔符完全符合你的要求。

用上面任意一种方法,都能把你给出的日期对象转换成2022 ** 06 ** 19的格式哦~

内容的提问来源于stack exchange,提问作者JAHelia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.29 00:07:33