6

私はこのように設定Global.asaxしました:

protected void Application_BeginRequest(object sender, EventArgs e)
    {
        PersianCulture fa = new PersianCulture();

        Thread.CurrentThread.CurrentCulture = fa;
    }

「1392 1 23」を「2013 4 12」に変換したい。

どうやってやるの?

4

3 に答える 3

9

「ペルシャ人DateTime」というものはありません。DateTime値は常にグレゴリオ暦の値であり、特定の書式設定はありません。書式を設定すると (通常は を呼び出してToString)、どのように書式設定されているかを判断できます。非グレゴリオ暦を使用するカルチャを使用する場合は、元の値がその暦に変換されます。

たとえば、ペルシャ語のユーザーからの入力を解析し、それを英語のユーザーが理解できる同等の日付に変換したい場合は、次のように使用できます。

DateTime date = DateTime.Parse(text, persianCulture);
string englishText = date.ToString(englishCulture);
于 2013-04-12T06:03:20.317 に答える
2

英語の DatetimePersian Datetimeという用語があるとは思いません。

MSDNから;

DateTime 値型は、グレゴリオ暦で 00:00:00 (真夜中)、西暦 0001 年 1 月 1 日 Anno Domini (西暦紀元) から西暦 9999 年 12 月 31 日 (CE) 午後 11:59:59 までの範囲の値で日付と時刻を表します。カレンダー。

で使用するCultureと、DateTime自動的にこのカレンダーに変換されます。

このCultureInfoクラスは、言語、サブ言語、国/地域、暦、特定のカルチャに関連付けられている規則など、カルチャ固有の情報を提供します。DateTimeFormatInfoこのクラスは、 、 NumberFormatInfoCompareInfo、およびTextInfoオブジェクトのカルチャ固有のインスタンスへのアクセスも提供します。これらのオブジェクトには、大文字と小文字の区別、日付と数値の書式設定、文字列の比較など、カルチャ固有の操作に必要な情報が含まれています。

于 2013-04-12T06:04:59.903 に答える