在我的应用程序 iPhone 提醒应用程序中添加事件时获取错误日期
Getting wrong date while add event in iPhone Reminder app from my application
我正在添加一个具有 NSDate 值的事件
“2017-04-25 15:00:00 +0000”
根据我的时区,现在是 2017-04-25 08:40 下午。
我正在从一个函数中获取 NSDate 值。
NSString *strDateTime = @"Tuesday, 25 Apr 2017 08:30 PM";
NSDateFormatter *formatterLocal = [[NSDateFormatter alloc] init];
[formatterLocal setTimeZone:[NSTimeZone systemTimeZone]];
[formatterLocal setDateFormat:@"EEEE, dd MMM yyyy hh:mm a"];
NSDate *dateAdd = [formatterLocal dateFromString:strDateTime];
当我查看提醒应用时,它显示日期为 25/04/17 3:00 下午的事件。虽然应该是 25/04/17,8:00 下午。
谁能帮我解决这个问题!
我已经检查过了Get wrong time when adding an event to default calendar in iPhone
我刚刚发现我的错误。
我在 "dueDateComponents" 中设置了错误的时区。
下面是我的代码。
EKReminder *reminder = [EKReminder reminderWithEventStore:self.eventStore];
reminder.dueDateComponents = [self dateComponentsForDefaultDueDate];
- (NSDateComponents *)dateComponentsForDefaultDueDate {
/*
Changing date components
*/
NSCalendar *cal = [NSCalendar currentCalendar];
//[cal setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSDateComponents *components = [cal components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear |NSCalendarUnitHour | NSCalendarUnitMinute fromDate:[NSDate dateWithTimeIntervalSince1970:[_dictData[@"start"] longLongValue]]];
components.hour = [components hour];
components.minute = [components minute];
return components;
}
我刚刚评论了
//[cal setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
愚蠢的错误:p
我正在添加一个具有 NSDate 值的事件
“2017-04-25 15:00:00 +0000”
根据我的时区,现在是 2017-04-25 08:40 下午。
我正在从一个函数中获取 NSDate 值。
NSString *strDateTime = @"Tuesday, 25 Apr 2017 08:30 PM";
NSDateFormatter *formatterLocal = [[NSDateFormatter alloc] init];
[formatterLocal setTimeZone:[NSTimeZone systemTimeZone]];
[formatterLocal setDateFormat:@"EEEE, dd MMM yyyy hh:mm a"];
NSDate *dateAdd = [formatterLocal dateFromString:strDateTime];
当我查看提醒应用时,它显示日期为 25/04/17 3:00 下午的事件。虽然应该是 25/04/17,8:00 下午。
谁能帮我解决这个问题!
我已经检查过了Get wrong time when adding an event to default calendar in iPhone
我刚刚发现我的错误。
我在 "dueDateComponents" 中设置了错误的时区。
下面是我的代码。
EKReminder *reminder = [EKReminder reminderWithEventStore:self.eventStore];
reminder.dueDateComponents = [self dateComponentsForDefaultDueDate];
- (NSDateComponents *)dateComponentsForDefaultDueDate {
/*
Changing date components
*/
NSCalendar *cal = [NSCalendar currentCalendar];
//[cal setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
NSDateComponents *components = [cal components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear |NSCalendarUnitHour | NSCalendarUnitMinute fromDate:[NSDate dateWithTimeIntervalSince1970:[_dictData[@"start"] longLongValue]]];
components.hour = [components hour];
components.minute = [components minute];
return components;
}
我刚刚评论了
//[cal setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]];
愚蠢的错误:p