Iphone NSDateComponents中可能存在的错误?
我只是在玩计时器,我发现:Iphone NSDateComponents中可能存在的错误?,iphone,ios,cocoa,nsdate,nsdatecomponents,Iphone,Ios,Cocoa,Nsdate,Nsdatecomponents,我只是在玩计时器,我发现: - (void)viewDidLoad{ [super viewDidLoad]; NSDate *date = [NSDate date]; dFormatter = [[NSDateFormatter alloc] init]; //instance variable NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGrego
- (void)viewDidLoad{
[super viewDidLoad];
NSDate *date = [NSDate date];
dFormatter = [[NSDateFormatter alloc] init]; //instance variable
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSDateComponents *dateC = [calendar components:unitFlags fromDate:date];
[dateC setSecond:1];
[dateC setHour:0];
[dateC setMinute:0];
NSDate *fireDate = [calendar dateFromComponents:dateC];
[dFormatter setTimeStyle:NSDateFormatterLongStyle];
[dFormatter setDateStyle:NSDateFormatterMediumStyle];
NSLog(@"%@", [dFormatter stringFromDate:fireDate]);
}
输出令人惊讶:10月4日凌晨12:00:01
我正在尝试设置一个计时器,从过去的几个小时开始计时
我应该报告这一点,还是有办法让那个日期变成像10月4日上午4点00分01分那样?12点00分01分等于午夜后1秒。还是我在这里遗漏了什么?我对此很抱歉。我尝试了很多不同的选择来改变它。当然,我来自一个实行24小时制的国家,有时也会遇到这样的问题:)我忍不住笑了。。。真有趣!如果你想在语言上正确,中午12点是不存在的。上午12点也没有。上午11:59:59到下午12:00:01之间的第二个是“子午线”,另一个12:00:00是“午夜”。但是,按照美国的惯例,中午被称为12:00pm,午夜被称为12:00am。(“子午线”指的是太阳在头顶的正上方——一天中的最高高度。)