[英]How to convert any date format to yyyy-MM-dd
我的應用程序解析字符串數據,提取日期並識別日期格式並將其轉換為 yyyy-MM-dd。
源日期可以是任何石灰 dd-mm-yyyy、dd/mm/yyyy、mm-dd-yyyy、mm/dd/yyyy 甚至 yyyy-MM-dd。
除了使用 switch case 嘗試不同的排列和組合之外,還有其他有效的方法嗎?
string sourceDate = "31-08-2012";
String.Format("{0:yyyy-MM-dd}", sourceDate);
上面的代碼只返回相同的 sourceDate “31-08-2012”。
string DateString = "11/12/2009";
IFormatProvider culture = new CultureInfo("en-US", true);
DateTime dateVal = DateTime.ParseExact(DateString, "yyyy-MM-dd", culture);
這些鏈接也可能對您有所幫助
將您的字符串轉換為DateTime
,然后使用DateTime.ToString("yyyy-MM-dd");
DateTime temp = DateTime.ParseExact(sourceDate, "dd-MM-yyyy", CultureInfo.InvariantCulture);
string str = temp.ToString("yyyy-MM-dd");
string sourceDateText = "31-08-2012";
DateTime sourceDate = DateTime.Parse(sourceDateText, "dd-MM-yyyy")
string formatted = sourceDate.ToString("yyyy-MM-dd");
您可以通過以下方式將日期格式從dd/MM/yyyy
更改為yyyy-MM-dd
:
string date = DateTime.ParseExact(SourceDate, "dd/MM/yyyy", CultureInfo.InvariantCulture).ToString("yyyy-MM-dd");
在這里, SourceDate
是變量,您將在其中獲得所選日期。
您需要將輸入解析為 DateTime 對象,然后將其轉換為您想要的任何文本格式。
如果您不確定將獲得什么格式,您可以使用驗證或 datetimePicker 或其他一些組件將用戶限制為固定格式。
這是您的主要問題:
源日期可以是 dd-mm-yyyy、dd/mm/yyyy、mm-dd-yyyy、mm/dd/yyyy 甚至 yyyy-MM-dd。
如果給你01/02/2013
,是 1 月 2 日還是 2 月 1 日? 你應該先解決這個問題,解析輸入會容易得多。
我建議你退后一步,更詳細地探索你想要解決的問題。
試試這個代碼:
lblUDate.Text = DateTime.Parse(ds.Tables[0].Rows[0]["AppMstRealPaidTime"].ToString()).ToString("yyyy-MM-dd");
您可以在數組中編寫可能的日期格式並解析日期,如下所示:
public static void Main(string[] args)
{
string dd = "12/31/2015"; //or 31/12/2015
DateTime startDate;
string[] formats = { "dd/MM/yyyy", "dd/M/yyyy", "d/M/yyyy", "d/MM/yyyy",
"dd/MM/yy", "dd/M/yy", "d/M/yy", "d/MM/yy", "MM/dd/yyyy"};
DateTime.TryParseExact(dd, formats,
System.Globalization.CultureInfo.InvariantCulture,
System.Globalization.DateTimeStyles.None, out startDate);
Console.WriteLine(startDate.ToString("yyyy-MM-dd"));
}
if (DateTime.TryParse(datetoparser, out dateValue))
{
string formatedDate = dateValue.ToString("yyyy-MM-dd");
}
string sourceDate = "15/06/2021T00.00.00";
DateTime Date = DateTime.Parse(sourceDate)
string date = Date.ToString("yyyy-MM-dd");
Convert.toDateTime(sourceDate).toString("yyyy-MM-dd");
Convert.ToDateTime((string)item["LeaveFromDate"]).ToString("dd/MM/yyyy")
這可能會有所幫助
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.