2016-08-27 34 views
0

"UTC時刻の文字列を" 8/27/2016 6:56:23 AM "としています。UTC時刻を現地時刻に変換できません。

この日付を自分のローカルタイムゾーンに変換する必要があります。

NSString *dateFormat = @"dd/MM/yyyy HH:mm:ss a"; 
NSTimeZone *inputTimeZone = [NSTimeZone timeZoneWithAbbreviation:@"UTC"]; 
NSDateFormatter *inputDateFormatter = [[NSDateFormatter alloc] init]; 
[inputDateFormatter setTimeZone:inputTimeZone]; 
[inputDateFormatter setDateFormat:dateFormat]; 

**NSDate *date = [inputDateFormatter dateFromString:_strLiveStreamStartTime];** 

NSTimeZone *outputTimeZone = [NSTimeZone localTimeZone]; 
NSDateFormatter *outputDateFormatter = [[NSDateFormatter alloc] init]; 
[outputDateFormatter setTimeZone:outputTimeZone]; 
[outputDateFormatter setDateFormat:dateFormat]; 
NSString *outputString = [outputDateFormatter stringFromDate:date]; 

NSLog(@"%@",outputString); 

問題は、私がnull値を与える日付に私はサーバーの文字列を隠しているときです。 これを解決するのを手伝ってください。私はそれをGoogleといくつかのソリューションを実装するが、取得することはできません。

答えて

1

あなたの文字列はmonth/day...です。日付の形式はday/month...です。これは問題です。 時間は、12時間モードの場合は小文字のhhで表されます。

NSString *dateFormat = @"MM/dd/yyyy hh:mm:ss a"; 
+0

実際には問題は時間型もあります。 HHで:mm:ssそれは働いていないと12時間formateその作業。この背後にある具体的な理由。 –

+0

いいえ、実際の問題は逆日/月の順序です。 'HH'は12時間モードで動作しますが、時間が12時間を超えると' hh'は24時間モードで動作しません。指定された指定子を使用するのはプログラミングの習慣としては良いです。 – vadian

関連する問題