【问题标题】:Swift 3.0 Xcode8 beta 4 how to fix Calendar.current.dateSwift 3.0 Xcode8 beta 4 如何修复 Calendar.current.date
【发布时间】:2016-12-14 17:47:37
【问题描述】:

晚上,我真的不知道如何转换:

let birthDay = Calendar.current.date(era: 1, year: year, month: moth, day: day, hour: 0, minute: 0, second: 0, nanosecond: 0)

进入这个:

Calendar.current.date(from: <DateComponents>)

有什么建议吗?

这就是我所做的:

let dateComponet = DateComponents(timeZone: nil, era: 1, year: year, month: month, day: day, hour: 0, minute: 0, second: 0, nanosecond: 0)
let birthDay = Calendar.current.date(from: dateComponet)

有没有更短的方法?

谢谢

【问题讨论】:

标签: ios date calendar swift3 xcode8-beta4


【解决方案1】:

是的,您可以在使用该初始化程序时仅传递您想要的组件,以及当前日历并从 datecomponents 对象获取日期属性:

日期组件

public init(calendar: Calendar? = default,
            timeZone: TimeZone? = default,
            era: Int? = default,
            year: Int? = default,
            month: Int? = default,
            day: Int? = default,
            hour: Int? = default,
            minute: Int? = default,
            second: Int? = default,
            nanosecond: Int? = default,
            weekday: Int? = default,
            weekdayOrdinal: Int? = default,
            quarter: Int? = default,
            weekOfMonth: Int? = default,
            weekOfYear: Int? = default,
            yearForWeekOfYear: Int? = default)

let birthDay = DateComponents(calendar: .current, year: 2016, month: 8, day: 9).date!   // "Aug 9, 2016, 12:00 AM"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-13
    • 1970-01-01
    • 2019-11-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多