我的日期格式为2017-08-24 22:22:45
。如何仅提取2017-08-24
?如何从日期字符串中提取YYYY-mm-dd?
我试着使用:
var data = date.Split('-');
string convertedDate = data[0] + date[1] + date[2];
但我不喜欢这种解决方案/
我的日期格式为2017-08-24 22:22:45
。如何仅提取2017-08-24
?如何从日期字符串中提取YYYY-mm-dd?
我试着使用:
var data = date.Split('-');
string convertedDate = data[0] + date[1] + date[2];
但我不喜欢这种解决方案/
DateTime s = DateTime.Parse("2017-08-24 22:22:45");
Console.WriteLine(s.ToString("yyyy-MM-dd"));
多个DateTime的ToString()格式 https://blog.nicholasrogoff.com/2012/05/05/c-datetime-tostring-formats-quick-reference/
如果您只对日期部分感兴趣但希望继续使用日期结构,则一旦您解析为日期时间,则始终可以调用Date属性:DateTime.Now.Date截断时间部分结构。 – asawyer
你可以使用正则表达式模式:
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);
其他选项可以是:
string date = "2017-08-24 22:22:45";
string convertedDate = date.Split(' ')[0];
// Result: 2017-08-24
你的字符串可以被转换成一个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"));
如果日期:
string convertedDate = date.ToString("yyyy-MM-dd");
如果字符串:
string convertedDate = data.Substring(0,10);
这对你的作品,
string date = "2017-08-24 22:22:45"; string convertedDate = date.Split(' ')[0];
'string.Split()'返回一个数组,而不是一个字符串。 – Sach
你是对的....我改变了我的代码...你可以检查 –
使用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
只需:
var convertedDate = date.Substring(0, 10);
喜欢的东西[ParseExact](https://msdn.microsoft.com/fr-fr/library/w2sa9yss(V = vs.110).aspx),然后剪切时间部分 – litelite
string formatted = date.ToString(“yyyy-MM-dd”); – Winnie
'data.Substring(0,10)'? – juharr