我的日期格式为2017-08-24 22:22:45
。如何仅提取2017-08-24
?
我试图使用:
var data = date.Split('-');
string convertedDate = data[0] + date[1] + date[2];
但我不喜欢这个解决方案/
答案 0 :(得分:8)
DateTime s = DateTime.Parse("2017-08-24 22:22:45");
Console.WriteLine(s.ToString("yyyy-MM-dd"));
更多日期时间.ToString()格式 https://blog.nicholasrogoff.com/2012/05/05/c-datetime-tostring-formats-quick-reference/
答案 1 :(得分:2)
其他选项可能是:
string date = "2017-08-24 22:22:45";
string convertedDate = date.Split(' ')[0];
// Result: 2017-08-24
答案 2 :(得分:2)
如果日期:
string convertedDate = date.ToString("yyyy-MM-dd");
如果是String:
string convertedDate = data.Substring(0,10);
答案 3 :(得分:2)
简单:
var convertedDate = date.Substring(0, 10);
答案 4 :(得分:1)
您的字符串可以转换为DateTime对象,然后您可以随意使用。
string dateStr = "2017-08-24 22:22:45";
DateTime date = DateTime.Now;
if(DateTime.TryParse(dateStr, out date))
Console.Write(date.ToString("yyyy-MM-dd"));
答案 5 :(得分:1)
使用 ParseExact
var strDate = "2017-08-24 22:22:45";
DateTime myDate = DateTime.ParseExact(strDate, "yyyy-MM-dd HH:mm:ss",
System.Globalization.CultureInfo.InvariantCulture);
Console.WriteLine("Your date "+ myDate.ToString("yyyy-MM-dd"));
https://msdn.microsoft.com/en-us/library/w2sa9yss(v=vs.110).aspx
答案 6 :(得分:0)
您可以使用正则表达式模式:
var src = "2017-08-24 22:22:45";
var pattern = @"^\d{4}-\d{2}-\d{2}";
var ans = Regex.Match(src, pattern).Value;
但这可能有点过分 - 只是提取它:
var ans = src.Substring(0, 10);
答案 7 :(得分:0)
这对你有用,
string date = "2017-08-24 22:22:45";
string convertedDate = date.Split(' ')[0];