And*_*rew 1 .net asp.net parsing
Date.TryParse的方法签名是:
Public Shared Function TryParseExact ( _
s As String, _
format As String, _
provider As IFormatProvider, _
style As DateTimeStyles, _
<OutAttribute> ByRef result As DateTime _
) As Boolean
Run Code Online (Sandbox Code Playgroud)
我理解什么格式,但是什么是提供者参数?我知道您传入了CultureInfo实例,但我不确定它的用途是什么.
有谁能请赐教?
提供程序指定有关日期的特定于区域性的格式信息.
例如,您可以传递任何这些文化:
new CultureInfo("en-US") // USA
new CultureInfo("fr-FR") // France
new CultureInfo("it-IT") // Italy
new CultureInfo("de-DE") // Germany
Run Code Online (Sandbox Code Playgroud)
并且您将根据这些文化格式化日期,例如:
另一个例子:使用"d"格式,表示使用en-US进行CultureInfo时的M/d/yyyy短日期模式,请考虑:
DateTime dateValue;
string[] sampleDates = new[] { "31/8/2009", "8/31/2009" };
foreach (string currentDate in sampleDates)
{
bool result = DateTime.TryParseExact(currentDate, new[] {"d"},
new CultureInfo("en-US"),
DateTimeStyles.None,
out dateValue);
Console.WriteLine("{0}: {1}", currentDate, result ? "valid" : "invalid");
if (result)
{
Console.WriteLine("Result: {0}", dateValue);
}
Console.WriteLine();
}
Run Code Online (Sandbox Code Playgroud)
输出:
31/8/2009: invalid
8/31/2009: valid
Result: 8/31/2009 12:00:00 AM
Run Code Online (Sandbox Code Playgroud)
31/8/2009无效,因为它不符合M/d/yyyy的en-US文化格式,而8/31/2009是有效的,因为它确实有效.