将C#中的DateTime转换为yyyy-MM-dd格式并将其存储到MySql DateTime字段

Rah*_*ani 41 c# mysql datetime date

我正在尝试将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);
Run Code Online (Sandbox Code Playgroud)

但上述行的非转换为指定的格式.
任何人都可以帮助解决这个问题.

我从一个应用程序获取DateTime并将此对象传递给其他应用程序,该应用程序将该日期存储到MySql的DateTime字段中,格式为"yyyy-MM-dd".
这就是我发布这个问题的原因.

项目1有类,我得到了日期.处理器类是应用程序的中间件,它处理DateTime格式以特定格式转换.并传递给使用DateTime的Other项目并将其存储在MySql字段中.

Ale*_*lex 83

使用DateTime.Now.ToString("yyyy-MM-dd h:mm tt");.看到这个.

  • 我想将转换日期存储为DateTime格式我能够以指定格式获取该字符串值. (3认同)

小智 26

我们可以使用下面的非常简单.

Date.ToString("yyyy-MM-dd");
Run Code Online (Sandbox Code Playgroud)

  • 如果有人在这里得到以下错误:"方法ToString没有重载需要1个参数"然后尝试这个:`((DateTime)Date).ToString("yyyy-MM-dd");` (3认同)

小智 6

我知道这是一个旧线程,但对于所有新手来说,有一个新的简化语法(Intellisense 为我突出显示了它,不确定这个功能有多新,但我猜测是 .NET 5.0)

DateTime date = DateTime.Now;
string createdDate = $"{date:yyyy-MM-dd}";
Run Code Online (Sandbox Code Playgroud)

也许这个例子看起来并不简单,但是当连接一条长消息时,它确实很方便。


小智 5

你有没有尝试过?

var isoDateTimeFormat = CultureInfo.InvariantCulture.DateTimeFormat;

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

// "2013-10-10 22:10:00Z"    
dateValue.ToString(isoDateTimeFormat.UniversalSortableDateTimePattern)
Run Code Online (Sandbox Code Playgroud)

当您将 c# 日期时间值存储在 mySql 数据库中时,也可以尝试使用参数,这可能会有所帮助。


Asa*_*han 5

尝试为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"));
Run Code Online (Sandbox Code Playgroud)