7

ユーザーが選択した言語がアラビア語の場合にアラビア語の日付を取得し、春のアプリケーションで選択した言語が英語の場合に英語形式の日付を取得するにはどうすればよいですか? リクエストに基づいて、デフォルトのロケールを英語とアラビア語に設定してみましたが、アラビア語でカレンダーの API 時間を (9 時間 15 分) 取得するのに役立ちません。

4

2 に答える 2

1

混乱した質問

あなたの質問は紛らわしく、あなたのコメントは明確にするのに役立ちませんでした.

イスラム暦が欲しかったですか?もしそうなら、Masud の答えは正しいです。

日時のタイムゾーンをリヤドなどのアラブの場所に合わせたいですか?

月や日の名前など、日時のテキスト表現で使用される単語をローカライズしたかったですか?

日、月、年の表示順序など、日時のテキスト表現の形式をローカライズしたかったですか?

Joda-Time

Joda-Time 2.3 ライブラリーを使用してサンプル コードを少し抜粋してみます。

java.util.Localeを作成するには、次のものが必要です。

サンプルコード

DateTime dateTimeUtc = new DateTime( DateTimeZone.UTC );

DateTimeZone timeZone = DateTimeZone.forID( "Asia/Riyadh" );
DateTime dateTimeRiyadh = dateTimeUtc.withZone( timeZone );

java.util.Locale locale = new Locale( "ar", "SA" ); // ( language code, country code );
DateTimeFormatter formatter = DateTimeFormat.forStyle( "FF" ).withLocale( locale ).withZone( timeZone );
String output = formatter.print( dateTimeUtc );

コンソールにダンプ…</p>

System.out.println( "dateTimeUtc: " + dateTimeUtc );
System.out.println( "dateTimeRiyadh: " + dateTimeRiyadh );
System.out.println( "output: " + output );

実行すると…</p>

dateTimeUtc: 2014-02-16T09:52:33.901Z
dateTimeRiyadh: 2014-02-16T12:52:33.901+03:00
output: 16 فبراير, 2014 AST 12:52:33 م
于 2014-02-16T09:57:38.697 に答える