我有一个函数,我必须从我自己的 sqlite 数据库中检索日期。我已使用格式化程序保存了它
我的工作流程
1..在应用程序上将日期保存到数据库 输入背景(另存为字符串(
2..当应用程序再次成为前台时,我也会在该时间点创建一个日期实例。现在我有两个约会。
3..将两个日期转换为正确的格式并获得秒差。
从日期转换为字符串 ->
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss.Z"
let myString = formatter.stringFromDate(NSDate()) // i get value"2017-05-18 16:49:38.+0530"
但是当我将其重新转换为 NSDate 时(我的意思是当我再次将其转换为字符串时(-->
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss.Z"
let lastloginDate=formatter.dateFromString(lastLogin) // i get value(Converting back to string n for checking as the time difference was zero ) 2017-05-18 00:00:00.+0530
我想比较两个日期,就像会话服务一样,我通过获取分钟的日历组件差异来做到这一点。然而,自从它这样来了,差异他总是零。
let myString1 = formatter.stringFromDate(date1)
let myString2 = formatter.stringFromDate(date2)
print("DATE 1(myString1) DATE 2 (myString2)")
let components = calendar.components(flags, fromDate: date2, toDate: date1, options: [])
let diff = components.second
print("Diffrence is (diff)") // Always zero 😱
这是为什么呢?
试试这个。
let myString1 = formatter.stringFromDate(date1)
let myString2 = formatter.stringFromDate(date2)
print("DATE 1(myString1) DATE 2 (myString2)")
let components = NSCalendar.currentCalendar().components([.Month, .Day, .Hour, .Minute, .Second], fromDate: myString1, toDate: myString2, options: [])
let diff = components.second
print("Difference is (diff)")