随风而去

博客园 首页 新随笔 联系 订阅 管理
数字类型相似,DateTime 对象具有将字符串转换为 DateTime 对象的功能。Parse 方法和 ParseExact 方法均可用于将日期或时间的字符串表示形式转换为 DateTime 对象。Parse 方法转换任何有效的字符串表示形式,而 ParseExact 方法只转换采用您指定的格式的字符串。这两种方法均可成功转换格式为标准 DateTime 模式(在日期与时间格式字符串一节中描述)之一的任何字符串。

用于表示月、日名称的值,以及 DateTime 组件的显示顺序,均在格式提供程序中定义。ParseParseExact 方法都接受格式提供程序,允许指定和显式分析特定区域性字符串。如果未指定格式提供程序,则使用与当前线程关联的提供程序。有关更多信息,请参见格式化概述

默认情况下,传递的字符串中不包含的任何有关日期和时间的信息均用 DateTime.Now 中的当前日期和时间信息填写。例如,如果分析“1/1/00”字符串,则只指定 DateTimeMonthYear Day 属性。其他属性(例如 MinutesSeconds Ticks)均按照 DateTime.Now 的指定设置为当前值。可指定 DateTimeStyles.NoCurrentDateDefault 来修改此行为,这样,每个属性的 YearMonth 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);

posted on 2007-05-29 10:16  Aaron_Zhang  阅读(7627)  评论(0)    收藏  举报