将字符串转换为DateTime而不更改原始字符串的格式c#

时间:2017-04-06 10:00:26

标签: c# mysql asp.net datetime datetime-format

我正在从保存在服务器上的MySQL数据库表中读取日期时间,以使用查询“立即选择()”来获取当前服务器日期时间。我得到了日期时间。

var tmpString = DateTime.Parse(reader[0].ToString()).ToString("yyyy-MM-dd hh:mm:ss tt");
DateTime result = Convert.ToDateTime(tmpString);

reader [0]包含我服务器的当前日期时间。 tmpString的值为“2017-04-06 03:10:20 PM”

结果包含以下格式的日期时间: 06年4月6日下午3:10:20(我机器的日期时间格式)

但是我想按照我的服务器日期时间格式(“yyyy-MM-dd hh:mm:ss tt”)

我尝试过使用

DateTime result = DateTime.ParseExact(tmpString, "yyyy-MM-dd hh:mm:ss tt", CultureInfo.InvariantCulture);

也会返回 06年4月6日17:16:11 PM。

2 个答案:

答案 0 :(得分:2)

您可以直接使用如下:

result.ToString(" yyyy-MM-dd HH'' mm':' ss")

这应该有用。

答案 1 :(得分:1)

这可能会有所帮助

        System.Globalization.CultureInfo customCulture = new System.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"));