ずっと前に、Appleが人間が読めるローカライズされた形式で時間間隔を印刷するAPIを導入したWWDCセッションビデオを見ました。
誰かがコメントを投稿した日付を印刷する代わりに、「2時間前」、「昨日」、「先週」などのローカライズされた文字列を印刷するのは非常に簡単でした。
そのビデオはもう見つかりません。このAPIのリファレンスや例もありません。現在の日付を基準にした日付間隔でこの種のローカライズされた文字列を直接取得するのは専用のAPIだったと確信しています。
ずっと前に、Appleが人間が読めるローカライズされた形式で時間間隔を印刷するAPIを導入したWWDCセッションビデオを見ました。
誰かがコメントを投稿した日付を印刷する代わりに、「2時間前」、「昨日」、「先週」などのローカライズされた文字列を印刷するのは非常に簡単でした。
そのビデオはもう見つかりません。このAPIのリファレンスや例もありません。現在の日付を基準にした日付間隔でこの種のローカライズされた文字列を直接取得するのは専用のAPIだったと確信しています。
私はビデオを思い出せませんが(それについてのビデオがいくつかありましたが)、あなたが考えているAPIは次のとおりだと思います:
[NSDateFormatter localizedStringFromDate:date dateStyle:NSDateFormatterMediumStyle timeStyle:NSDateFormatterNoStyle]
このAPIが相対的な日付の書式設定を行っているかどうかはわかりませんが、で言及されているフレームワークはMidhun MP
これをさらに進めています
もちろん、独自に作成して、「今日」や「明日」などのテキストを提供するようにプロパティをNSDateFormatter
設定することもできます。setDoesRelativeDateFormatting:YES
サンプルコードは、以下のクラスリファレンスにありますsetDoesRelativeDateFormatting:
。
NSDateFormatterClassReferenceを参照してください
そのビデオについては知りません。
これを行うために利用できるオープンソースライブラリがあります:SEHumanizedTimeDiff。
Three20のNSDateAdditionsも確認してください。
2012年からのセッション244の後だと思います。
「国際化のヒントとコツ」と呼ばれます。