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プロジェクトに渡します。
DateTime.Now.ToString("yyyy-MM-dd h:mm tt");
を使用します。 this を参照してください。
以下の非常にシンプルなものを使用できます。
Date.ToString("yyyy-MM-dd");
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"));
やってみました?
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値を保存するときにパラメーターを使用してみてください。これが役立つ場合があります。
GetDateTimeFormatsは、DateTimeをさまざまな形式に解析できます。 「yyyy-MM-dd」形式の例。
SomeDate.Value.GetDateTimeFormats()[5]