简体   繁体   English

InvariantCulture中使用的DateTime格式

[英]DateTime formats used in InvariantCulture

I have to pre-validate in Javascript a string that will be a DateTime in c#. 我必须在Javascript中预先验证一个字符串,该字符串将是c#中的DateTime。 The DateTime parse uses InvariantCulture. DateTime解析使用InvariantCulture。

Does anyone know the DateTime formats defined for InvariantCulture? 有谁知道为InvariantCulture定义的DateTime格式?

Compiling information from here: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings 从这里编译信息: https//docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings

  • Short Date Pattern ("d"): MM/dd/yyyy 短日期模式(“d”): MM/dd/yyyy
  • Long Date Pattern ("D"): dddd, dd MMMM yyyy 长日期模式(“D”): dddd, dd MMMM yyyy
  • Full Date Short Time ("f"): dddd, dd MMMM yyyy HH:mm 完整日期短时间(“f”): dddd, dd MMMM yyyy HH:mm
  • Full Date Long Time ("F"): dddd, dd MMMM yyyy HH:mm:ss 完整日期长时间(“F”): dddd, dd MMMM yyyy HH:mm:ss
  • General Date Short Time ("g"): MM/dd/yyyy HH:mm 一般日期短时间(“g”): MM/dd/yyyy HH:mm
  • General Date Long Time ("G"): MM/dd/yyyy HH:mm:ss 一般日期长时间(“G”): MM/dd/yyyy HH:mm:ss
  • Month ("M", "m"): MMMM dd 月(“M”,“m”): MMMM dd
  • Round-Trip ("O", "o"): yyyy-MM-ddTHH:mm:ss.fffffffK 往返(“O”,“o”): yyyy-MM-ddTHH:mm:ss.fffffffK
  • RFC1123 ("R", "r"): ddd, dd MMM yyyy HH:mm:ss GMT RFC1123(“R”,“r”): ddd, dd MMM yyyy HH:mm:ss GMT
  • Sortable ("s"): yyyy-MM-ddTHH:mm:ss 可排序(“s”): yyyy-MM-ddTHH:mm:ss
  • Short Time ("t"): HH:mm 短时间(“t”): HH:mm
  • Long Time ("T"): HH:mm:ss 长时间(“T”): HH:mm:ss
  • Universal Sortable ("u"): yyyy-MM-dd HH:mm:ssZ 通用可分类(“u”): yyyy-MM-dd HH:mm:ssZ
  • Universal Full ("U"): dddd, dd MMMM yyyy HH:mm:ss Universal Full(“U”): dddd, dd MMMM yyyy HH:mm:ss
  • Year Month ("Y", "y"): yyyy MMMM 年月(“Y”,“y”): yyyy MMMM

It's very easy to test. 它很容易测试。

public static void Main()
{
    var d = DateTime.Now;

    Console.WriteLine("Date format (long):  {0}", d.ToString("D", CultureInfo.InvariantCulture));
    Console.WriteLine("Date format (short): {0}", d.ToString("d", CultureInfo.InvariantCulture));
    Console.WriteLine("Full format (long):  {0}", d.ToString("F", CultureInfo.InvariantCulture));
    Console.WriteLine("Full format (short): {0}", d.ToString("f", CultureInfo.InvariantCulture));
    Console.WriteLine("Time format (long):  {0}", d.ToString("T", CultureInfo.InvariantCulture));
    Console.WriteLine("Time format (short): {0}", d.ToString("t", CultureInfo.InvariantCulture));
    Console.WriteLine("General format (long):  {0}", d.ToString("G", CultureInfo.InvariantCulture));
    Console.WriteLine("General format (short): {0}", d.ToString("g", CultureInfo.InvariantCulture));
}

} }

Output: 输出:

Date format (long):  Monday, 16 October 2017
Date format (short): 10/16/2017
Full format (long):  Monday, 16 October 2017 20:12:45
Full format (short): Monday, 16 October 2017 20:12
Time format (long):  20:12:45
Time format (short): 20:12
General format (long):  10/16/2017 20:12:45
General format (short): 10/16/2017 20:12

Code on DotNetFiddle . DotNetFiddle上的代码

Its more or less the same as en-us but uses as 24 hour time instead of 12 hour am/pm and fills in full MM/DD/YYYY. 它或多或少与en-us相同,但用作24小时时间而不是上午12点/下午并填写完整的MM / DD / YYYY。

var date1 = d.ToString(CultureInfo.InvariantCulture);   // "05/21/2014 22:09:28"
var date2 = d.ToString(new CultureInfo("en-US"));       // "5/21/2014 10:09:28 PM"
  • "O" or "o": yyyy-MM-ddTHH:mm:ss.fffffffzz “O”或“o”: yyyy-MM-ddTHH:mm:ss.fffffffzz
  • "R" or "r": ddd, dd MMM yyyy HH:mm:ss “R”或“r”: ddd, dd MMM yyyy HH:mm:ss
  • "s": yyyy-MM-ddTHH:mm:ss “s”: yyyy-MM-ddTHH:mm:ss
  • "u": yyyy-MM-dd HH:mm:ssZ “你”: yyyy-MM-dd HH:mm:ssZ

Sources [1]: https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings 来源[1]: https//docs.microsoft.com/en-us/dotnet/standard/base-types/standard-date-and-time-format-strings

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM