Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何从C中的字符串中获取日期#_C# - Fatal编程技术网

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);