C# 如何从C中的字符串中获取日期#
我有一根像C# 如何从C中的字符串中获取日期#,c#,C#,我有一根像 string startdatestring = "2017-03-10T07:19:28.907"; DateTime firstdate = DateTime.ParseExact(startdatestring, "yyyy/MM/dd hh:mm:ss", CultureInfo.InvariantCult
string startdatestring = "2017-03-10T07:19:28.907";
DateTime firstdate = DateTime.ParseExact(startdatestring,
"yyyy/MM/dd hh:mm:ss",
CultureInfo.InvariantCulture);
var firstDateString = firstdate.ToString("yyyy-MM-dd");
只需要输出
2017-03-10
修改代码如下
string startdatestring = "2017-03-10T07:19:28.907";
//1st way - Convert.ToDatetime works properly
//DateTime firstdate = Convert.ToDateTime(startdatestring);
//2nd way - DateTime.Parse also works perfect
//DateTime firstdate = DateTime.Parse(startdatestring);
//3rd way - DateTime.ParseExact also works perfect
DateTime firstdate = DateTime.ParseExact(startdatestring,
"yyyy-MM-ddTHH:mm:ss.fff",
CultureInfo.InvariantCulture);
var firstDateString = firstdate.ToString("yyyy-MM-dd");
Console.WriteLine(firstDateString);
输出
2017-03-10您的输入字符串“2017-03-10T07:19:28.907”
与格式字符串“yyyy/MM/dd hh:MM:ss”
不匹配
考虑到您的输入已经是标准格式,您可以使用DateTime.Parse
:
var firstdate = DateTime.Parse(startdatestring);
DateTime firstdate=DateTime.ParseExact(startdatestring,
“yyyy-MM-dd hh:MM:ss”,
文化信息(不变量文化)
它是yyyy-MM-dd而不是yyyy/MM/dd
)() 更改您的代码如下
做这样的事
string startdatestring = "2017-03-10T07:19:28.907";
string s = startdatestring.Substring(0, 9);
如果您愿意帮助我,则无法获取您的输入日期与格式字符串不匹配…您告诉解析器所期望的模式(
yyyy/MM/dd hh:MM:ss
)而且你要传递的日期的格式也不一样。那么你能告诉我我要写的格式吗。
string startdatestring = "2017-03-10T07:19:28.907";
string s = startdatestring.Substring(0, 9);