如果我们使用指定格式的精确ParseExact
日期时间解析方法,为什么我们需要提供一个 IFormatProvider 对象?它背后的意义何在?
例如:
DateTime.ParseExact(dateString, format, provider);
为什么我们需要provider
这里?
如果我们使用指定格式的精确ParseExact
日期时间解析方法,为什么我们需要提供一个 IFormatProvider 对象?它背后的意义何在?
例如:
DateTime.ParseExact(dateString, format, provider);
为什么我们需要provider
这里?
为什么我们需要提供一个 IFormatProvider 对象?它背后的意义何在?
它允许特定于文化的选项。尤其是:
:
or /
,这分别表示时间分隔符或日期分隔符的文化特定字符作为最后一点的示例,请考虑在美国或沙特阿拉伯的文化中解释的完全相同的字符串和格式:
using System;
using System.Globalization;
class Test
{
static void Main()
{
CultureInfo us = new CultureInfo("en-US");
CultureInfo sa = new CultureInfo("ar-SA");
string text = "1434-09-23T15:16";
string format = "yyyy'-'MM'-'dd'T'HH':'mm";
Console.WriteLine(DateTime.ParseExact(text, format, us));
Console.WriteLine(DateTime.ParseExact(text, format, sa));
}
}
解析美国文化时,使用公历 - 而解析沙特阿拉伯文化时,使用 Um Al Qura 日历,其中 1434 是我们当前所在的年份(正如我写这个答案时)。