我正在開發一個iOS應用程序,需要與GAE上的基於Python的REST服務同步。如何在iOS和Python上創建統一的unix-timestamp?
在Python後端創建我的時間戳是這樣的:
def create_timestamp(date):
midnight = datetime.time(0)
date_midnight_time = datetime.datetime.combine(date.date(), midnight)
return calendar.timegm(date_midnight_time.utctimetuple())
我通過在上述datetime.datetime.today()
功能。這將返回2013年10月27日00:00:00的值1382832000
。
在iOS上存在的一個的buildin功能:
nextDate設置爲今天的日期有點由於算法複雜:
NSDate *date = [NSDate date];
NSCalendar *calendar = [NSCalendar currentCalendar];
NSDateComponents *components = [calendar components:(NSEraCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit) fromDate:date];
[components setDay:27];
NSDate *nextDate = [calendar dateFromComponents:components];
[nextDate timeIntervalSince1970]
它返回2013-10-27 00:00:00 BST
價值1382828400.000000
雖然有一些差異。
也許是因爲Python端是UTC,iOS默認顯示BST的時間,我需要解決這個問題。截至昨晚,英國夏令時間不再,但iOS仍然報告BST。雖然作爲一個NSDate對象,但令人困惑的總是以我的理解UTC。
一旦它的工作,是安全的投的iOS雙 值爲int,以獲得一個類似的整數Python方面?