[英]Format date in C#
我有一個用於顯示日期時間的字符串,例如 Mon, dd Dec YYYY hh:mm:ss。 我想像 dd Dec YYYY 一樣顯示它。 有什么簡單的方法可以做到嗎?
您可以調用 DateTime 類上的格式化方法
DateTime time = DateTime.ParseExact("Mon, 28 Dec 2009 04:34:17", "ddd, dd MMM yyyy hh:mm:ss", CultureInfo.InvariantCulture);
string output = time.ToString("dd MMM yyyy", CultureInfo.InvariantCulture);
這是格式字符串的選項列表。
來自http://www.csharp-examples.net/string-format-datetime/
// create date time 2008-03-09 16:05:07.123
DateTime dt = new DateTime(2008, 3, 9, 16, 5, 7, 123);
String.Format("{0:y yy yyy yyyy}", dt); // "8 08 008 2008" year
String.Format("{0:M MM MMM MMMM}", dt); // "3 03 Mar March" month
String.Format("{0:d dd ddd dddd}", dt); // "9 09 Sun Sunday" day
String.Format("{0:h hh H HH}", dt); // "4 04 16 16" hour 12/24
String.Format("{0:m mm}", dt); // "5 05" minute
String.Format("{0:s ss}", dt); // "7 07" second
String.Format("{0:f ff fff ffff}", dt); // "1 12 123 1230" sec.fraction
String.Format("{0:F FF FFF FFFF}", dt); // "1 12 123 123" without zeroes
String.Format("{0:t tt}", dt); // "P PM" A.M. or P.M.
String.Format("{0:z zz zzz}", dt); // "-6 -06 -06:00" time zone
也可以看看:
如果您只有字符串,只需將字符串拆分為一個數組,然后按另一個順序連接您想要的部分
String str = "Mon, dd Dec YYYY hh:mm:ss";
String[] strArr = str.Split(" ");
str = strArr[2] + " " + strArr[3];
如果日期可以改變,那么做 SLaks 在他的回答中發布的內容
DateTime myDateTime = DateTime.Parse(myStringContainingDate);
myDateTime.ToString("dd MMM yyyy")
應該做的伎倆
您可以只使用 Substring,因為它總是 11 個字符,從位置 5 開始。
DateTime d = DateTime.Parse(yourDateString);
Console.WriteLine(d.ToString("dd MMM YYYY"));
完整規格在這里。
查看http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
我相信正確的字符串是 dd MMM yyyy
在C# 6.0
您可以使用字符串插值來顯示格式化的日期。
DateTime fullDate = DateTime.Parse("Sat, 17 JUL 2021 02:22:22");
string date = $"{fullDate: dd MMM yyyy}";
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.