2015-04-28 46 views
0

DayInEra不一致的。如果我有個約會深夜和我住在美國東海岸,我DayInEra計算似乎不包括時區偏移。但我的DayInYear計算工作正常。計算與DayInYear

我把下面的一個操場上的問題從我的代碼分離:

var dateLastNite : NSDate = NSDate(timeIntervalSince1970: 1430190884.0) 
var dateMorning : NSDate = NSDate(timeIntervalSince1970: 1430224884.0) 
var dateEvening : NSDate = NSDate(timeIntervalSince1970: 1430276884.0) 

var curCal : NSCalendar = NSCalendar.currentCalendar() 
var tz : NSString = curCal.timeZone.abbreviation! 

var dayOfYearPast : NSInteger = curCal.ordinalityOfUnit(NSCalendarUnit.CalendarUnitDay, inUnit: NSCalendarUnit.CalendarUnitYear, forDate: dateLastNite) 
var dayOfYearAM : NSInteger = curCal.ordinalityOfUnit(NSCalendarUnit.CalendarUnitDay, inUnit: NSCalendarUnit.CalendarUnitYear, forDate: dateMorning) 
var dayOfYearPM : NSInteger = curCal.ordinalityOfUnit(NSCalendarUnit.CalendarUnitDay, inUnit: NSCalendarUnit.CalendarUnitYear, forDate: dateEvening) 

var dayOfEraPast : NSInteger = curCal.ordinalityOfUnit(NSCalendarUnit.CalendarUnitDay, inUnit: NSCalendarUnit.CalendarUnitEra, forDate: dateLastNite) 
var dayOfEraAM : NSInteger = curCal.ordinalityOfUnit(NSCalendarUnit.CalendarUnitDay, inUnit: NSCalendarUnit.CalendarUnitEra, forDate: dateMorning) 
var dayOfEraPM : NSInteger = curCal.ordinalityOfUnit(NSCalendarUnit.CalendarUnitDay, inUnit: NSCalendarUnit.CalendarUnitEra, forDate: dateEvening) 

的DayOfYearPast結果是117和兩個AM和PM有118

但DayOfEraPast和dayOfEraAM我得到735716 而DayOfEraPM我得到735717

爲什麼時代結果沒有任何解釋:如我所料

回答