将字符串转换为特定格式的C#中的DateTime

本文关键字:中的 DateTime 格式 定格 字符串 转换 | 更新日期: 2023-09-27 18:28:37

如何将字符串(如07/26/13)转换为C#DateTime变量,格式如下2013-07-26 00:00:00(Mysql日期时间)

将字符串转换为特定格式的C#中的DateTime

如果您的CurrentCultureMM/dd/yy作为标准日期和时间格式,则可以使用DateTime.Parse方法,如;

DateTime date = DateTime.Parse("07/26/13");

如果不是,您可以使用DateTime.ParseExactDateTime.TryParseExact方法来解析具有自定义日期和时间格式的字符串,如;

string s = "07/26/13";
DateTime date;
if(DateTime.TryParseExact(s, "MM/dd/yy", CultureInfo.InvariantCulture,
                          DateTimeStyles.None, out date))
{
    Console.WriteLine(date);
}

DateTime没有任何隐式格式。它只有日期和时间值。它的字符串表示有格式。您可以使用.ToString方法格式化您的DateTime,如;

date.ToString("yyyy-MM-dd HH:mm:ss");

顺便说一句,如果要将DateTime值插入数据库,则不应该将其作为字符串插入。您应该使用参数化查询,并将DateTime值直接传递给您的参数。

使用TryParseExact。在发布问题之前,请自己尝试

string date_time = "07/26/13";
DateTime d;
if (DateTime.TryParseExact(date_time, "mm/dd/yy",  new CultureInfo("en-US"), 
                          DateTimeStyles.None, 
                          out  d))
{
  date_time = d.ToString("yyyy-mm-dd hh:mm:ss");
}