Dateはシステムエリアがモーリシャス、12時間制の場合NULL
2713 ワード
ツッコミ:ユーザーからフィードバックがあったとき、私はテスターでテストしたが、大丈夫、自分の机でテストOK、(1)新机种による问题を排除した.
その後、バックグラウンドでユーザーデータを取得し、プロジェクト上で実行し、表示することができます.(2)データのフォーマットが正しくないことを排除し、
ユーザーのデータのシミュレーションを開始し、人はモーリシャス、言語フランス語、地域モーリシャスを設定し、問題はありません(笑顔を保つ)
後で同僚が注意して、12時間制を試してみます...(はい、問題が再現されました)そこで私は長い知識を求める道を始めました(2日間^>^)
以上の結論:試験環境は地域にモーリシャスを設置し、12時間制である.
ソース(元)コード:
受け取ったデータがnullであることに気づきます
解決方法:NSLocale*locale=[[NSLocale alloc]initWithLocaleIdentifiier:@"en_US"; dateFormatter.locale = locale;
に置く
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
の下
つまり
同僚の注意と2人の同僚の助けに感謝します~~~
その後、バックグラウンドでユーザーデータを取得し、プロジェクト上で実行し、表示することができます.(2)データのフォーマットが正しくないことを排除し、
ユーザーのデータのシミュレーションを開始し、人はモーリシャス、言語フランス語、地域モーリシャスを設定し、問題はありません(笑顔を保つ)
後で同僚が注意して、12時間制を試してみます...(はい、問題が再現されました)そこで私は長い知識を求める道を始めました(2日間^>^)
以上の結論:試験環境は地域にモーリシャスを設置し、12時間制である.
ソース(元)コード:
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, [UIScreen mainScreen].bounds.size.width/2,30)];
label.textColor = [UIColor redColor];
label.text = [self timeTransfer:@"20200427130101"];
[self.view addSubview:label];
NSLog(@"timeTransfer: %@",[self timeTransfer:@"20200427130101"]);
}
-(NSString *)timeTransfer:(NSString *) string{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMMddHHmmss"];
NSDate *date = [dateFormatter dateFromString:string];
[dateFormatter setDateFormat:@"dd MMM,yyyy HH:mm:ss"];
NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
dateFormatter.locale = locale;
NSString *strDate = [dateFormatter stringFromDate:date];
return strDate;
}
受け取ったデータがnullであることに気づきます
解決方法:NSLocale*locale=[[NSLocale alloc]initWithLocaleIdentifiier:@"en_US"; dateFormatter.locale = locale;
に置く
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
の下
つまり
- (void)viewDidLoad {
[super viewDidLoad];
self.view.backgroundColor = [UIColor whiteColor];
UILabel * label = [[UILabel alloc] initWithFrame:CGRectMake(100, 100, [UIScreen mainScreen].bounds.size.width/2,30)];
label.textColor = [UIColor redColor];
label.text = [self timeTransfer:@"20200427130101"];
[self.view addSubview:label];
NSLog(@"timeTransfer: %@",[self timeTransfer:@"20200427130101"]);
}
-(NSString *)timeTransfer:(NSString *) string{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSLocale * locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
dateFormatter.locale = locale;
[dateFormatter setDateFormat:@"yyyyMMddHHmmss"];
NSDate *date = [dateFormatter dateFromString:string];
[dateFormatter setDateFormat:@"dd MMM,yyyy HH:mm:ss"];
NSString *strDate = [dateFormatter stringFromDate:date];
return strDate;
}
同僚の注意と2人の同僚の助けに感謝します~~~