用于表示月、日名称的值,以及 DateTime 组件的显示顺序,均在格式提供程序中定义。Parse 和 ParseExact 方法都接受格式提供程序,允许指定和显式分析特定区域性字符串。如果未指定格式提供程序,则使用与当前线程关联的提供程序。有关更多信息,请参见格式化概述。
默认情况下,传递的字符串中不包含的任何有关日期和时间的信息均用 DateTime.Now 中的当前日期和时间信息填写。例如,如果分析“1/1/00”字符串,则只指定 DateTime 的 Month、Year 和 Day 属性。其他属性(例如 Minutes、Seconds 和 Ticks)均按照 DateTime.Now 的指定设置为当前值。可指定 DateTimeStyles.NoCurrentDateDefault 来修改此行为,这样,每个属性的 Year、Month 和 Day 均设置为“1”,而不是当前的年、月、日。
string strMyDateTime = "2/16/1992 12:15:12";
// myDateTime gets Feburary 16, 1992, 12 hours, 15 min and 12 sec.
System.DateTime myDateTime =
System.DateTime.Parse(strMyDateTime);
System.IFormatProvider format =
new System.Globalization.CultureInfo("fr-FR", true);
// Reverse month and day to conform to a different format.
string strMyDateTimeFrench = " 16/02/1992 12:15:12";
// myDateTimeFrench gets Feburary 16, 1992, 12 hours,
// 15 min and 12 sec.
System.DateTime myDateTimeFrench =
System.DateTime.Parse(strMyDateTimeFrench,
format,
System.Globalization.
DateTimeStyles.NoCurrentDateDefault);
string[] expectedFormats = {"G", "g", "f" ,"F"};
// myDateTimeFrench gets Feburary 16, 1992, 12 hours,
// 15 min and 12 sec.
myDateTimeFrench =
System.DateTime.ParseExact(strMyDateTimeFrench,
expectedFormats,
format,
System.Globalization.
DateTimeStyles.AllowWhiteSpaces);
浙公网安备 33010602011771号