let date = Date()
// MARK: Way 1
let components = date.get(.day, .month, .year)
if let day = components.day, let month = components.month, let year = components.year {
print("day: \(day), month: \(month), year: \(year)")
}
// MARK: Way 2
print("day: \(date.get(.day)), month: \(date.get(.month)), year: \(date.get(.year))")
let string = "2018-12-24 18:00:00 UTC"
let formatter = ISO8601DateFormatter()
let trimmedString = string.replacingOccurrences(of: "\\s?UTC", with: "Z", options: .regularExpression)
formatter.formatOptions = [.withFullDate, .withFullTime, .withSpaceBetweenDateAndTime]
if let date = formatter.date(from: trimmedString) {
let components = Calendar.current.dateComponents([.day, .month], from: date)
let day = components.day!
let month = components.month!
print(day, month)
}
8条答案
按热度按时间sqougxex1#
详情
链接
如何将字符串转换为日期
溶液
用法
1rhkuytd2#
是字符串类型还是日期类型?
如果是日期,则可以执行以下操作:
它会给予你日期,年份和月份
gjmwrych3#
如果您将“2018-12-24 18:00:00 UTC”另存为
String
,您可以尝试以下操作:最美好的祝愿!
vawmfj5a4#
日期字符串不符合ISO8601标准,但如果将
<space> + UTC
替换为Z
并使用自定义格式选项,则可以使用ISO8601DateFormatter
。从字符串创建一个
Date
,并获取day
和month
的DateComponents
h22fl7wq5#
这是我在swift 4中所做的。我有一个Billing类,其中“billDate”是一个包含日期的字段。
voj3qocg6#
扩展日期所有时间返回字符串:
llmtgqce7#
xggvc2p68#
如果您有一个日期变量,您也可以将此解决方案用于SwiftUi: