MVC日期时间不转换

时间:2018-01-13 10:20:20

标签: c# datetime cultureinfo

我希望所有DateTime格式都是这样的:MM/dd/yyyy HH:mm:ss

我试试这个:

DateTime time= aModel.time; //{13.01.2018 08:30:00}
string formatcurrenttime = String.Format("{0:MM/dd/yy HH:mm:ss}", time);
DateTime formattedTime = Convert.ToDateTime(formatcurrenttime);

但是错误,不行。例外:

  

字符串未被识别为有效的DateTime。

我试试这个:

CultureInfo cultureinfo = new System.Globalization.CultureInfo("en-US");
DateTime time= aModel.time; //{13.01.2018 08:30:00}
string formatcurrenttime = String.Format("{0:MM/dd/yy HH:mm:ss}", time);
DateTime formattedTime = DateTime.Parse(formatcurrenttime2, cultureinfo);

给出错误。

我试试这个:

DateTime formattedTime = DateTime.Parse(formatcurrenttime, System.Globalization.CultureInfo.InvariantCulture);

但又给出了错误。

出了什么问题?

注意:第一个代码是昨天的工作。今天不行。托管公司更改我的VDS托管IP地址。我怀疑ASP.NET文化或UI文化设置。

1 个答案:

答案 0 :(得分:0)

您无法在其中传递带dot的字符串格式, 正如你在评论中所说,你想要一个像01.13.2018 08:30:00这样的格式,然后在代码下面工作。 因此,您可以执行以下操作:

string stringTime = time.ToString("MM'.'dd'.'yyyy' 'HH':'mm':'ss");

string stringTime = time.ToString("MM.dd.yyyy HH:mm:ss");

然后,如果你想传递不变文化:

string stringTime = time.ToString("MM.dd.yyyy HH:mm:ss", CultureInfo.InvariantCulture);