0

「dd/mm/yyyy」を「yyyy-mm-dd」形式に変換する方法。私はこのように試しました:

 DateTime dtInputDate = DateTime.Parse(txtDate.Text); //txtDate.Text = "19/07/2012"
 string strOutputDateFormat = "YYYY-MM-DD";
 dtInputDate.ToString(strOutputDateFormat);
 txtDate.Text = dtInputDate.ToShortDateString();

エラーが発生しました:文字列は有効な DateTime として認識されませんでした。

4

6 に答える 6

3

日付の形式は次のとおりです。

string strOutputDateFormat = "yyyy-MM-dd";

文字列を現在まで解析するには、DateTime.ParseExactメソッドとフォーマット指定子を使用します。

于 2012-07-19T11:01:02.697 に答える
1

次のコードを試してください。

DateTime dtInputDate = DateTime.Parse(this.txtDate.Text); 

this.txtDate.Text = dtInputDate.ToString(String.Format("yyyy-MM-dd", dtInputDate.ToShortDateString()));

出力ここに画像の説明を入力

于 2012-07-19T11:13:51.803 に答える
1

Parse Exact を使用して、次のように形式を指定できます。"d/M/yyyy"

 string strDate = "19/07/2012";
 DateTime dtInputDate = DateTime.ParseExact(strDate, "d/M/yyyy", CultureInfo.InvariantCulture); //txtDate.Text = 
 string strOutputDateFormat = "yyyy-MM-dd";
 Console.Write(dtInputDate.ToString(strOutputDateFormat));
 strDate = dtInputDate.ToString(strOutputDateFormat);

strDate編集:ここでtxtDate.Textあなたのコードに置き換えます

于 2012-07-19T11:02:16.003 に答える
1

以下を試して様子を見てください。日付形式は大文字と小文字を区別します。

string strOutputDateFormat = "yyyy-MM-dd";

また、コードの 3 行目と 4 行目は何の役にも立ちません! 両方を次のものに置き換える必要があります。

txtDate.Text = dtInputDate.ToString(strOutputDateFormat);

dtInputDate.ToString(strOutputDateFormat);値を返していますが、この値を変数に割り当てておらdtInputDate.ToShortDateString();ず、日付をyyyy-MM-dd形式で出力しません。

コードの最初の行がエラーをスローしている場合は、txtDate.Text実際に「19/07/2012」が含まれていることと、これを別のテキスト ボックスに入力していないことを確認し、名前が付けられていると思われるテキスト ボックスがtxtDate.Text実際にあることを確認してください。

お役に立てれば

http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx

于 2012-07-19T11:02:23.540 に答える
0

次のようなものを試してください

DateTime dtInputDate = DateTime.ParseExact(txtDate.Text,"dd/MM/yyyy",null,DateTimeStyles.None);
string strOutputDateFormat = "yyyy-MM-dd";
txtDate.Text = dtInputDate.ToString(strOutputDateFormat);

DateTime.ParseExact メソッド (文字列、文字列、IFormatProvider)

DateTime.ParseExact メソッド (文字列、文字列、IFormatProvider、DateTimeStyles)

あるいは

DateTime.TryParseExact メソッド (文字列、文字列、IFormatProvider、DateTimeStyles、DateTime%)

于 2012-07-19T11:03:37.380 に答える
0

あなたのコードは次のようになります

txtDate.Text = DateTime.Parse(txtDate.Text).ToString("yyyy-MM-dd"); 
于 2012-07-19T11:03:51.077 に答える