1

人間が読める NSDate のローカライズされた形式を表示する必要があります。

現在、NSDateFormatter は一度に 1 つの日付のみをフォーマットできます。

しかし、2 つの日付形式を行う方法の例を見つけることができました。

私が作成する必要がある形式の例をいくつか示します。

  1. 2013 年 3 月 25 日(月)午前 10:00 ~ 午前 11:00

  2. 2013年3月25日(月) 10:00AM - 11:00PM

また、これらはロケールとタイムゾーンに応じてローカライズされた形式にする必要があります。

ここでいくつかのライトを陰にすることができますか?どうもありがとうございました。

4

1 に答える 1

2

これにどのようにアプローチするかに関係なく、2 つの文字列を取得して結合する必要があります。

要するに、最終的には 2 つの日付があります。

10:00 - 11:00AM Monday 25th March, 2013
^^^^^   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Date1   Date2

2 つの個別NSDateFormatterのオブジェクトを使用して、必要なものを提供できます。

NSDateFormatter *timeOnlyDateFormatter = [[NSDateFormatter alloc] init];
//... set the format for the timeOnlyDateFormatter here
NSDateFormatter *fullDateFormatter = [[NSDateFormatter alloc] init];
//.. set the format for the fullDateFormatter here

これにより、それらを使用して Date1 文字列と Date2 文字列の両方を作成し、それらを組み合わせることができます。

NSString *firstString = [timeOnlyDateFormatter stringFromDate:firstDate];
NSString *secondString = [fullDateFormatter stringFromDate:secondDate];
NSString *combined = [NSString stringWithFormat:@"%@ - %@", firstString, secondString];

私の知る限り、これを行うための本当にきれいな方法はありません。

于 2013-03-24T23:30:02.363 に答える