日付を_dd/mm/yyyy
_または_mm/dd/yy
_としてフォーマットするにはどうすればよいですか?
VB format("dd/mm/yy",now)
のように
C#でこれを行うにはどうすればよいですか?
これはほとんど同じです。単にDateTime.ToString()
メソッドを使用します。例:
_DateTime.Now.ToString("dd/MM/yy");
_
または:
_DateTime dt = GetDate(); // GetDate() returns some date
dt.ToString("dd/MM/yy");
_
さらに、事前定義された日付/時刻形式の1つを使用することを検討することをお勧めします。
_DateTime.Now.ToString("g");
// returns "02/01/2009 9:07 PM" for en-US
// or "01.02.2009 21:07" for de-CH
_
これらにより、現在のロケール設定に関係なく、フォーマットが正しくなります。
詳細については、次のMSDNページを確認してください
いくつかの追加の関連情報:
特定のロケール/カルチャで日付を表示する場合は、IFormatProvider
を受け取るToString()
メソッドのオーバーロードがあります。
_DateTime dt = GetDate();
dt.ToString("g", new CultureInfo("en-US")); // returns "5/26/2009 10:39 PM"
dt.ToString("g", new CultureInfo("de-CH")); // returns "26.05.2009 22:39"
_
または、日付をフォーマットする前に、現在のスレッドのCultureInfo
を設定することもできます。
_Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
dt.ToString("g"); // returns "5/26/2009 10:39 PM"
Thread.CurrentThread.CurrentCulture = new CultureInfo("de-CH");
dt.ToString("g"); // returns "26.05.2009 22:39"
_
string.Format("{0:dd/MM/yyyy}", DateTime.Now)
すべてのフォーマットオプションを確認するには、MSDNで「フォーマット文字列」を検索してください。
yy
、yyyy
、M
、MM
、MMM
、MMMM
、d
、日付コンポーネントの場合はdd
、ddd
、dddd
h
、hh
、H
、HH
、m
、mm
、s
、時刻コンポーネントの場合はss
これを試して :
String.Format("{0:MM/dd/yyyy}", DateTime.Now); // 01/31/2009
String.Format("{0:dd/MM/yyyy}", DateTime.Now); // 31/01/2009
String.Format("{dd/MM/yyyy}", DateTime.Now); // 31/01/2009
あなたも書くことができます
DateTime aDate = new DateTime();
string s = aDate.ToShortDateString();
短い表記の場合
または
DateTime aDate = new DateTime();
string s = aDate.ToLongDateString();
「2009年2月1日日曜日」のような長い表記。
または、 [〜#〜] msdn [〜#〜] .ToString( "???");の可能性を確認してください。
さらに良いことに、
DateTime.Now.ToString()
または
DateTime.Now.ToString(CultureInfo.CurrentCulture)
ユーザーが好む形式を使用します。
混乱することなく任意の形式に変換できるので、これは簡単だと思います
DateTime.ParseExact(txt.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy/MM/dd"));
私は同じ問題に遭遇しました。私がする必要があったのは、クラスの先頭に参照を追加し、現在実行中のスレッドのCultureInfoを変更することでした。
using System.Threading;
string cultureName = "fr-CA";
Thread.CurrentThread.CurrentCulture = new CultureInfo(cultureName);
DateTime theDate = new DateTime(2015, 11, 06);
theDate.ToString("g");
Console.WriteLine(theDate);
文化名を変更するだけです。たとえば、「en-US」=米国「fr-FR」=フランス語を話すフランス「fr-CA」=フランス語を話すカナダなど...