[英]iOS Convert UTC date of NSDate to Localtime fo local notifications
我在將 NSDate日期轉換為本地 DateTime 時遇到問題。 我正在使用本地通知,我的fireDate屬性沒問題,除了我的日期中的 UTC 組件。
這是 NSDate 日期並將日期轉換為我的本地時區
這是我在此處找到的轉換代碼Convert UTC NSDate to local Timezone Objective-C
NSDate *someDateInUTC = [NSDate date];
NSTimeInterval timeZoneSeconds = [[NSTimeZone localTimeZone] secondsFromGMT];
NSDate *dateInLocalTimezone = [someDateInUTC dateByAddingTimeInterval:timeZoneSeconds];
我在我的時間組件中添加了 5 秒,所以這是我的 fireDate:
我正在使用推送通知,當用戶在應用程序中的某個位置時,我想從我的推送通知中向他顯示本地通知。 這段代碼在我的- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
方法中。 我已經實現了本地通知的方法:
-(void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification
{
UIApplicationState applicationState = application.applicationState;
if (applicationState == UIApplicationStateBackground) {
[application presentLocalNotificationNow:notification];
}
}
我認為dateInLocalTimezone中的這個 UTC 組件給我帶來了麻煩,但我不知道如何解決。
好的,所以我讀了你的問題。 然后我有下面的例子給你。
在這里,我將本地時間轉換為 UTC 時間。
NSDateFormatter *fmt = [[NSDateFormatter alloc] init];
fmt.dateFormat = @"LLL d, yyyy - HH:mm:ss zzz";
NSDate *utc = [fmt dateFromString:@"June 14, 2012 - 01:00:00 UTC"];
fmt.timeZone = [NSTimeZone systemTimeZone];
NSString *local = [fmt stringFromDate:utc];
NSLog(@"%@", local);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.