簡體   English   中英

如何從日期字符串中提取YYYY-mm-dd?

[英]How to extract YYYY-mm-dd from date string?

我的日期格式為2017-08-24 22:22:45 如何僅提取2017-08-24

我嘗試使用:

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/

其他選項可能是:

string date = "2017-08-24 22:22:45"; 
string convertedDate = date.Split(' ')[0];

// Result: 2017-08-24

如果日期:

string convertedDate = date.ToString("yyyy-MM-dd");

如果字符串:

string convertedDate = data.Substring(0,10);

只是:

var convertedDate = date.Substring(0, 10);

可以將您的字符串轉換為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"));

使用 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/zh-CN/library/w2sa9yss(v=vs.110).aspx

您可以使用正則表達式模式:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM