私のシステム日付はmm/dd/yyyy
形式で、私のコードは日付をdd/mm/yyyy
形式に変換します。今私はデータベースのテーブルの更新のためのyyyy/mm/dd
形式の日付が欲しいです。私は試しています:日付変換は私のシステム日付時刻では動作しません
string d = Convert.ToDateTime(FromDate).ToString("yyyy/MM/dd");
しかし、それは返す:yyyy/dd/mm
。
私のシステム日付はmm/dd/yyyy
形式で、私のコードは日付をdd/mm/yyyy
形式に変換します。今私はデータベースのテーブルの更新のためのyyyy/mm/dd
形式の日付が欲しいです。私は試しています:日付変換は私のシステム日付時刻では動作しません
string d = Convert.ToDateTime(FromDate).ToString("yyyy/MM/dd");
しかし、それは返す:yyyy/dd/mm
。
元の形式を使用してDateTimeに変換し、目的の形式に変換する必要があります。このように:
string FromDate = "12/13/2016";
string originalFormat = "MM/dd/yyyy";
string expectedFormat = "yyyy/MM/dd";
string d = DateTime.ParseExact(FromDate, originalFormat, CultureInfo.CurrentCulture)
.ToString(expectedFormat);
Console.WriteLine(d);
あなたが入力のフォーマットについてわからない場合は、この安全側のロジックで行くことができます。
string FromDate = "12/13/2016";
string originalFormat = "MM/dd/yyyy";
string expectedFormat = "yyyy/MM/dd";
DateTime convertedDate;
string expectedDate = null;
if (DateTime.TryParseExact(FromDate, originalFormat, CultureInfo.CurrentCulture,
DateTimeStyles.AssumeLocal, out convertedDate))
{
expectedDate = convertedDate.ToString(expectedFormat);
}
else
{
// handle format errors.
}
Console.WriteLine(expectedDate);
変換に失敗したらどうなりますか? –
@幸運にも、ユーザーは日付が指定された形式であると言っています。彼は、それが何らかのフォーマットであるかどうかチェックしなければならない未知のフォーマットを持っているとは言わなかった。もし私がそのフォーマットを100%確信しているなら、私は 'TryParse'を使用しません。 – user3185569
しかし、開発者は、例外が発生する可能性がある場合には例外を気にして、例外 –
使用DateTime.TryParseExact
あなたはそれが働いていたでしょう。 FromDate
は形式MM/dd/yyyy
の日付と必要な形式の文字列では、コードを考えてみましょう"yyyy/MM/dd"
です:
string FromDateString ="07/18/2016";
string fromStringFormat= "MM/dd/yyyy";
DateTime FromDate;
if(DateTime.TryParseExact(FromDateString, fromStringFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out FromDate))
{
string requiredString= FromDate.ToString("yyyy/MM/dd");
// Continue coding
}
else
{
// Conversion failed
}
日付はdd/mm/yyyy形式です。yyyy/mm/dd形式で表示したいだけですが、エラーStringは有効なDateTimeとして認識されませんでした。 –
@ RahulSoni:どの行にエラーがありますか? [ここでは動作例です](https:// dotnetfiddle。ネット/ MTXayH) –
FROMDATE = 2016年10月7日 のToDate = 18/07/2016 列D = Convert.ToDateTime(FROMDATE).ToString( "YYYY/MM/DD")。 が与える:2016年10月7日 文字列DD = Convert.ToDateTime(のToDate).ToString( "YYYY/MM/DD") は与える:エラー を私は 列D = Convert.ToDateTime(FROMDATE)を使用していた場合.ToString( "yyyy/dd/MM"); 付与:2016/07/10 文字列dd = Convert.ToDateTime(ToDate).ToString( "yyyy/dd/MM"); は与える:エラー –
あなたは 'DateTime.ParseExact' – dotctor
を使用する必要がありますあなたは[MCVE]を示していただけますか?つまり、問題を示すコピー、貼り付け、実行できるコードですか? – Enigmativity
FromDateの値は何ですか? – user3185569