我需要使用swift以这些格式检索日期和时间。
2014-09-19
16:43:00.0
NSDate()一起提供日期和时间,时间格式错误,是否有人知道如何单独获取这些内容并按照上面显示的格式获得时间。
答案 0 :(得分:1)
要设置日期格式,请使用NSDateFormatter。
答案 1 :(得分:1)
你在使用这两个字符串是为了什么?如果您正在使用内部用途(时间戳事务,向数据库添加排序字段,向Web服务提交ISO 8601 / RFC 3339日期),您通常也希望确保您:
使用GMT / UTC;以及
指定区域设置
因此,这可能会产生:
let date = NSDate()
let timeZone = NSTimeZone(forSecondsFromGMT: 0)
let locale = NSLocale(localeIdentifier: "en_US_POSIX")
let dateFormatter = NSDateFormatter()
dateFormatter.timeZone = timeZone
dateFormatter.locale = locale
dateFormatter.dateFormat = "yyyy-MM-dd"
let timeFormatter = NSDateFormatter()
timeFormatter.timeZone = timeZone
timeFormatter.locale = locale
timeFormatter.dateFormat = "HH:mm:ss.S"
println(dateFormatter.stringFromDate(date))
println(timeFormatter.stringFromDate(date))
Technical Q&A QA1480文档在互联网上使用的ISO 8601 / RFC 3339日期的上下文中对此进行了讨论,但只要您将这些日期用于内部目的,基础概念同样适用。
答案 2 :(得分:0)
检查以下代码 -
var dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let d = NSDate()
let s = dateFormatter.stringFromDate(d)
println(s)
答案 3 :(得分:0)
应该这样做:
let date = NSDate()
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let timeFormatter = NSDateFormatter()
timeFormatter.dateFormat = "HH:mm:ss.S"
println(dateFormatter.stringFromDate(date))
println(timeFormatter.stringFromDate(date))