web-dev-qa-db-ja.com

C#のDateTimeをyyyy-MM-dd形式に変換し、MySql DateTimeフィールドに保存します

DateTime形式をyyyy-MM-dd形式に変換し、DateTimeオブジェクトに保存しようとしています。しかし、システムDateTimeの形式はMM/dd/yyyyです。
次のコードを使用して変換しています。

string dateTime = DateTime.Now.ToString();
string createddate = Convert.ToDateTime(dateTime).ToString("yyyy-MM-dd h:mm tt");         
DateTime dt = DateTime.ParseExact(createddate, "yyyy-MM-dd h:mm tt",CultureInfo.InvariantCulture);

ただし、上記の行は指定された形式に変換されません。
誰でもこれを解決できますか。

1つのアプリケーションからDateTimeを取得し、このオブジェクトを他のアプリケーションに渡します。そのアプリケーションは、その日付を「yyyy-MM-dd」形式のMySqlのDateTimeフィールドに格納しています。
これが、この質問を投稿した理由です。

プロジェクト1には、日付を取得するクラスがあります。そして、特定の形式に変換するためにDateTime形式を処理するアプリケーションのミドルウェアであるプロセッサクラス。そして、DateTimeを消費してMySqlフィールドに保存するOtherプロジェクトに渡します。

39
Rahul Gokani

DateTime.Now.ToString("yyyy-MM-dd h:mm tt");を使用します。 this を参照してください。

78
Alex

以下の非常にシンプルなものを使用できます。

Date.ToString("yyyy-MM-dd");
24
sanjay.arora29

CurrentCultureおよびCurrentUICultureにカスタムCultureInfoを設定してみてください。

Globalization.CultureInfo customCulture = new Globalization.CultureInfo("en-US", true);

customCulture.DateTimeFormat.ShortDatePattern = "yyyy-MM-dd h:mm tt";

System.Threading.Thread.CurrentThread.CurrentCulture = customCulture;
System.Threading.Thread.CurrentThread.CurrentUICulture = customCulture;

DateTime newDate = System.Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd h:mm tt"));
5
Asanka Madushan

やってみました?

var isoDateTimeFormat = CultureInfo.InvariantCulture.DateTimeFormat;

// "2013-10-10T22:10:00"
 dateValue.ToString(isoDateTimeFormat.SortableDateTimePattern); 

// "2013-10-10 22:10:00Z"    
dateValue.ToString(isoDateTimeFormat.UniversalSortableDateTimePattern)

また、mySqlデータベースにc#datetime値を保存するときにパラメーターを使用してみてください。これが役立つ場合があります。

4
DrewbieDoo

GetDateTimeFormatsは、DateTimeをさまざまな形式に解析できます。 「yyyy-MM-dd」形式の例。

SomeDate.Value.GetDateTimeFormats()[5]

GetDateTimeFormats

2
YKC