基本上,我要做的是将一个string转换为一个date。string等于以下内容:
let myDateString = "01-53-36-24-75"这就是它的格式:
天-小时-分钟-秒-毫秒
因此,如果我没有这样的日子,我只需要创建一个dateFormatter,然后执行以下操作:
let separator = "-"
self.dateFormatter.dateFormat = "HH\(separator)mm\(separator)ss\(separator)SS"然后,我会将myDateString从self.dateFormatter转换为date。但是现在我有几天了,(日子过去了),我不知道如何将string - myDateString转换为date。
发布于 2015-09-03 00:56:17
如果要支持以下日期格式:
Days-Hours-Minutes-Seconds-Milliseconds那么,您需要有这样的格式:
dateFormatter.dateFormat = "DDD-HH-mm-ss-SS"DDD表示您希望在一年中的某一天。
要从date对象获得dateFormatter (假设它是NSDateFormatter实例),您可以使用dateFromString方法。例如:
var myDate: NSDate? = dateFormatter.dateFromString("01-53-36-24-75")注意,dateFromString返回一个可选的。因此,如果您的格式不能转换给定的字符串,则返回nil。
现在,有两件事我想指出。
First,即日期格式不提供年值。因此,年份值将是默认年份。
第二次,日期字符串01-53-36-24-75似乎错了。具体来说,53的小时值超出了界限(它应该是23的最大值)。
无论如何,如果您运行以下代码片段:
    var dateFormatter = NSDateFormatter()
    dateFormatter.dateFormat = "DDD-HH-mm-ss-SS"
    let myDateString1 = "01-53-36-24-75" // Your value
    let myDateString2 = "01-01-02-03-04" // My example value
    println("myDateString1 = \(dateFormatter.dateFromString(myDateString1))")
    println("myDateString2 = \(dateFormatter.dateFromString(myDateString2))")控制台输出将是:
myDateString1 = nil
myDateString2 = Optional(2000-01-01 06:02:03 +0000)如您所见,您的值转换为nil,因为53无法转换。
我的值的年份值转换为2000,这是一个默认的值,因为它没有在格式或字符串中指定年份。
有关日期格式化器中使用的符号,请参见此日期格式模式。(苹果的日期页面引用了这个链接。)
发布于 2015-09-02 23:02:36
dd会给你一天时间。
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS"是年、月、日、小时、分钟、秒、毫秒
https://stackoverflow.com/questions/32364413
复制相似问题