DateTime dt = new DateTime(2008, 5, 1, 8, 30, 52,001); //正确
DateTime dt = new DateTime();
dt.Year = 2008;//错误 Year 是只读属性,DateTime 不根据该方式给年月日等赋值。
可以用强转, DateTime d = DateTime.Parse("2010-2-12"); 或者是创建新的实例 DateTime dd = new DateTime(2010, 2, 12); new DateTime(2010, 2, 12); 这个的参数有好多,也可以自定义小时,分,秒,
DateTime now = DateTime.Now;
Console.WriteLine(now.ToString("yyyy-MM-dd")); //按yyyy-MM-dd格式输出s
Console.WriteLine(dt.ToString()); // 26/11/2009 AM 11:21:30
Console.WriteLine(dt.ToFileTime().ToString()); // 129036792908014024
// Converts the value of the current System.DateTime object to a Windows file time
Console.WriteLine(dt.ToFileTimeUtc().ToString()); // 129036792908014024
// Converts the value of the current System.DateTime object to a Windows file time
Console.WriteLine(dt.ToLocalTime().ToString()); // 26/11/2009 AM 11:21:30
// Converts the value of the current System.DateTime object to local time.
Console.WriteLine(dt.ToLongDateString().ToString()); // 2009年11月26日
Console.WriteLine(dt.ToLongTimeString().ToString()); // AM 11:21:30
Console.WriteLine(dt.ToOADate().ToString()); // 40143.4732731597
Console.WriteLine(dt.ToShortDateString().ToString()); // 26/11/2009
Console.WriteLine(dt.ToShortTimeString().ToString()); // AM 11:21
Console.WriteLine(dt.ToUniversalTime().ToString()); // 26/11/2009 AM 3:21:30
Console.WriteLine(dt.Year.ToString()); // 2009
Console.WriteLine(dt.Date.ToString()); // 26/11/2009 AM 12:00:00
Console.WriteLine(dt.DayOfWeek.ToString()); // Thursday
Console.WriteLine(dt.DayOfYear.ToString()); // 330
Console.WriteLine(dt.Hour.ToString()); // 11
Console.WriteLine(dt.Millisecond.ToString()); // 801 (毫秒)
Console.WriteLine(dt.Minute.ToString()); // 21
Console.WriteLine(dt.Month.ToString()); // 11
Console.WriteLine(dt.Second.ToString()); // 30
Console.WriteLine(dt.Ticks.ToString()); // 633948312908014024
Console.WriteLine(dt.TimeOfDay.ToString()); // 12:29:51.5181524
// Gets the time of day for this instance.
// 返回 A System.TimeSpan that represents the fraction of the day that has elapsed since midnight.
Console.WriteLine(dt.ToString()); // 26/11/2009 PM 12:29:51
Console.WriteLine(dt.AddYears(1).ToString()); // 26/11/2010 PM 12:29:51
Console.WriteLine(dt.AddDays(1.1).ToString()); // 27/11/2009 PM 2:53:51
Console.WriteLine(dt.AddHours(1.1).ToString()); // 26/11/2009 PM 1:35:51
Console.WriteLine(dt.AddMilliseconds(1.1).ToString()); //26/11/2009 PM 12:29:51
Console.WriteLine(dt.AddMonths(1).ToString()); // 26/12/2009 PM 12:29:51
Console.WriteLine(dt.AddSeconds(1.1).ToString()); // 26/11/2009 PM 12:29:52
Console.WriteLine(dt.AddMinutes(1.1).ToString()); // 26/11/2009 PM 12:30:57
Console.WriteLine(dt.AddTicks(1000).ToString()); // 26/11/2009 PM 12:29:51
Console.WriteLine(dt.CompareTo(dt).ToString()); // 0
Console.WriteLine(dt.Add(new TimeSpan(1,0,0,0)).ToString()); // 加上一个时间段
(注:
System.TimeSpan为一个时间段,构造函数如下
public TimeSpan(long ticks); // ticks: A time period expressed in 100-nanosecond units.
//nanosecond:十亿分之一秒 new TimeSpan(10,000,000) 为一秒
public TimeSpan(int hours, int minutes, int seconds);
public TimeSpan(int days, int hours, int minutes, int seconds);
public TimeSpan(int days, int hours, int minutes, int seconds, int milliseconds);
)
Console.WriteLine(dt.Equals("2005-11-6 16:11:04").ToString()); // False
Console.WriteLine(dt.Equals(dt).ToString()); // True
Console.WriteLine(dt.GetHashCode().ToString()); // 1103291775
Console.WriteLine(dt.GetType().ToString()); // System.DateTime
Console.WriteLine(dt.GetTypeCode().ToString()); // DateTime
long Start = Environment.TickCount; //单位是毫秒
long End = Environment.TickCount;
Console.WriteLine("Start is : "+Start);
Console.WriteLine("End is : "+End);
Console.WriteLine("The Time is {0}",End-Start);
Console.WriteLine(dt.GetDateTimeFormats('s')[0].ToString()); //2009-11-26T13:29:06
Console.WriteLine(dt.GetDateTimeFormats('t')[0].ToString()); //PM 1:29
Console.WriteLine(dt.GetDateTimeFormats('y')[0].ToString()); //2009年11月
Console.WriteLine(dt.GetDateTimeFormats('D')[0].ToString()); //2009年11月26日
Console.WriteLine(dt.GetDateTimeFormats('D')[1].ToString()); //星期四, 26 十一月, 2009
Console.WriteLine(dt.GetDateTimeFormats('D')[2].ToString()); //26 十一月, 2009
Console.WriteLine(dt.GetDateTimeFormats('D')[3].ToString()); //星期四 2009 11 26
Console.WriteLine(dt.GetDateTimeFormats('M')[0].ToString()); //26 十一月
Console.WriteLine(dt.GetDateTimeFormats('f')[0].ToString()); //2009年11月26日 PM 1:29
Console.WriteLine(dt.GetDateTimeFormats('g')[0].ToString()); //26/11/2009 PM 1:29
Console.WriteLine(dt.GetDateTimeFormats('r')[0].ToString()); //Thu, 26 Nov 2009 13:29:06 GMT
(注:
常用的日期时间格式:
格式 说明 输出格式
d 精简日期格式 MM/dd/yyyy
D 详细日期格式 dddd, MMMM dd, yyyy
f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm
F 完整日期时间格式 (long date + long time) dddd, MMMM dd, yyyy HH:mm:ss
g 一般格式 (short date + short time) MM/dd/yyyy HH:mm
G 一般格式 (short date + long time) MM/dd/yyyy HH:mm:ss
m,M 月日格式 MMMM dd
s 适中日期时间格式 yyyy-MM-dd HH:mm:ss
t 精简时间格式 HH:mm
T 详细时间格式 HH:mm:ss
)
Console.WriteLine(string.Format("{0:d}", dt)); //28/12/2009
Console.WriteLine(string.Format("{0:D}", dt)); //2009年12月28日
Console.WriteLine(string.Format("{0:f}", dt)); //2009年12月28日 AM 10:29
Console.WriteLine(string.Format("{0:F}", dt)); //2009年12月28日 AM 10:29:18
Console.WriteLine(string.Format("{0:g}", dt)); //28/12/2009 AM 10:29
Console.WriteLine(string.Format("{0:G}", dt)); //28/12/2009 AM 10:29:18
Console.WriteLine(string.Format("{0:M}", dt)); //28 十二月
Console.WriteLine(string.Format("{0:R}", dt)); //Mon, 28 Dec 2009 10:29:18 GMT
Console.WriteLine(string.Format("{0:s}", dt)); //2009-12-28T10:29:18
Console.WriteLine(string.Format("{0:t}", dt)); //AM 10:29
Console.WriteLine(string.Format("{0:T}", dt)); //AM 10:29:18
Console.WriteLine(string.Format("{0:u}", dt)); //2009-12-28 10:29:18Z
Console.WriteLine(string.Format("{0:U}", dt)); //2009年12月28日 AM 2:29:18
Console.WriteLine(string.Format("{0:Y}", dt)); //2009年12月
Console.WriteLine(string.Format("{0}", dt)); //28/12/2009 AM 10:29:18
Console.WriteLine(string.Format("{0:yyyyMMddHHmmssffff}", dt)); //200912281029182047
计算2个日期之间的天数差
DateTime dt1 = Convert.ToDateTime("2007-8-1");
DateTime dt2 = Convert.ToDateTime("2007-8-15");
TimeSpan span = dt2.Subtract(dt1);
int dayDiff = span.Days ;
计算某年某月的天数
int days = DateTime.DaysInMonth(2009, 8);
days = 31;
给日期增加一天、减少一天
DateTime dt =DateTime.Now;
dt.AddDays(1); //增加一天 dt本身并不改变
dt.AddDays(-1);//减少一天 dt本身并不改变
DateTime dt1 = DateTime.Now;
DateTime dt2 = DateTime.Now.AddDays(-7);
TimeSpan ts = dt1 - dt2;
int days = ts.Days; //dt1和dt2相差多少天
eg2.
//编辑月份和系统登录月份是否相等
if(Convert.ToDateTime(DateTime.Now.ToShortDateString()).Month==Convert.ToDateTime(this.GetQueryString("sdate")).Month)
{
TimeSpan ts=Convert.ToDateTime(DateTime.Now.ToShortDateString())-Convert.ToDateTime(this.GetQueryString("sdate"));
iDays=ts.Days;
//登录系统的前三天可以编辑
if(iDays<4)
{
Submiter submit = new Submiter(this,"tt");
this.iseretail.SelectedValue=this.GetQueryString("rid");
this.txtTime.Text=this.GetQueryString("sdate").ToString();
this.InputSelect1.WhereCondition=" gxlshd='"+this.GetQueryString("rid")+"'";
if(this.GetQueryString("workid")!="")
this.InputSelect1.SelectedValue=this.GetQueryString("workid");
submit.InitInsertMode();
SetDataGrid();
}
eg3.C#中计算两个时间的差
/// <summary>
/// 计算两个日期的时间间隔
/// </summary>
/// <param name="DateTime1">第一个日期和时间</param>
/// <param name="DateTime2">第二个日期和时间</param>
/// <returns></returns>
private string DateDiff(DateTime DateTime1, DateTime DateTime2)
{
string dateDiff = null;
TimeSpan ts1 = new TimeSpan(DateTime1.Ticks);
TimeSpan ts2 = new TimeSpan(DateTime2.Ticks);
TimeSpan ts = ts1.Subtract(ts2).Duration();
dateDiff = ts.Days.ToString()+"天"
+ ts.Hours.ToString()+"小时"
+ ts.Minutes.ToString()+"分钟"
+ ts.Seconds.ToString()+"秒";
return dateDiff;
}说明:
1.DateTime值类型代表了一个从公元0001年1月1日0点0分0秒到公元9999年12月31日23点59分59秒之间的具体日期时刻。因此,你可以用DateTime值类型来描述任何在想象范围之内的时间。一个DateTime值代表了一个具体的时刻
2.TimeSpan值包含了许多属性与方法,用于访问或处理一个TimeSpan值
下面的列表涵盖了其中的一部分:
Add:与另一个TimeSpan值相加。
Days:返回用天数计算的TimeSpan值。
Duration:获取TimeSpan的绝对值。
Hours:返回用小时计算的TimeSpan值
Milliseconds:返回用毫秒计算的TimeSpan值。
Minutes:返回用分钟计算的TimeSpan值。
Negate:返回当前实例的相反数。
Seconds:返回用秒计算的TimeSpan值。
Subtract:从中减去另一个TimeSpan值。
Ticks:返回TimeSpan值的tick数。
TotalDays:返回TimeSpan值表示的天数。
TotalHours:返回TimeSpan值表示的小时数。
TotalMilliseconds:返回TimeSpan值表示的毫秒数。
TotalMinutes:返回TimeSpan值表示的分钟数。
TotalSeconds:返回TimeSpan值表示的秒数。
见:
https://msdn.microsoft.com/zh-cn/library/system.datetime.aspx
#region 程序集 mscorlib.dll, v4.0.0.0
// C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5\mscorlib.dll
#endregion
using System.Globalization;
using System.Runtime;
using System.Runtime.Serialization;
using System.Security;
namespace System
{
// 摘要:
// 表示时间上的一刻,通常以日期和当天的时间表示。
[Serializable]
public struct DateTime : IComparable, IFormattable, IConvertible, ISerializable, IComparable<DateTime>, IEquatable<DateTime>
{
// 摘要:
// 表示 System.DateTime 的最大可能值。 此字段为只读。
public static readonly DateTime MaxValue;
//
// 摘要:
// 表示 System.DateTime 的最小可能值。 此字段为只读。
public static readonly DateTime MinValue;
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定的刻度数。
//
// 参数:
// ticks:
// 一个日期和时间,自公历 0001 年 1 月 1 日 00:00:00.000 以来所经历的以 100 纳秒为间隔的间隔数来表示。
//
// 异常:
// System.ArgumentOutOfRangeException:
// ticks 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public DateTime(long ticks);
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定的计时周期数以及协调世界时 (UTC) 或本地时间。
//
// 参数:
// ticks:
// 一个日期和时间,自公历 0001 年 1 月 1 日 00:00:00.000 以来所经历的以 100 纳秒为间隔的间隔数来表示。
//
// kind:
// 枚举值之一,指示 ticks 是指定了本地时间、协调世界时 (UTC),还是两者皆未指定。
//
// 异常:
// System.ArgumentOutOfRangeException:
// ticks 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
//
// System.ArgumentException:
// kind 不是 System.DateTimeKind 值之一。
public DateTime(long ticks, DateTimeKind kind);
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定的年、月和日。
//
// 参数:
// year:
// 年(1 到 9999)。
//
// month:
// 月(1 到 12)。
//
// day:
// 日(1 到 month 中的天数)。
//
// 异常:
// System.ArgumentOutOfRangeException:
// year 小于 1 或大于 9999。 - 或 - month 小于 1 或大于 12。 - 或 - day 小于 1 或大于 month 中的天数。
public DateTime(int year, int month, int day);
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定日历的指定年、月和日。
//
// 参数:
// year:
// 年(1 到 calendar 中的年数)。
//
// month:
// 月(1 到 calendar 中的月数)。
//
// day:
// 日(1 到 month 中的天数)。
//
// calendar:
// 用于解释 year、month 和 day 的日历。
//
// 异常:
// System.ArgumentNullException:
// calendar 为 null。
//
// System.ArgumentOutOfRangeException:
// year 不在 calendar 所支持的范围内。 - 或 - month 小于 1 或大于 calendar 中的月数。 - 或 - day 小于
// 1 或大于 month 中的天数。
public DateTime(int year, int month, int day, Calendar calendar);
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定的年、月、日、小时、分钟和秒。
//
// 参数:
// year:
// 年(1 到 9999)。
//
// month:
// 月(1 到 12)。
//
// day:
// 日(1 到 month 中的天数)。
//
// hour:
// 小时(0 到 23)。
//
// minute:
// 分(0 到 59)。
//
// second:
// 秒(0 到 59)。
//
// 异常:
// System.ArgumentOutOfRangeException:
// year 小于 1 或大于 9999。 - 或 - month 小于 1 或大于 12。 - 或 - day 小于 1 或大于 month 中的天数。
// - 或 - hour 小于 0 或大于 23。 - 或 - minute 小于 0 或大于 59。 - 或 - second 小于 0 或大于 59。
public DateTime(int year, int month, int day, int hour, int minute, int second);
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定日历的指定年、月、日、小时、分钟和秒。
//
// 参数:
// year:
// 年(1 到 calendar 中的年数)。
//
// month:
// 月(1 到 calendar 中的月数)。
//
// day:
// 日(1 到 month 中的天数)。
//
// hour:
// 小时(0 到 23)。
//
// minute:
// 分(0 到 59)。
//
// second:
// 秒(0 到 59)。
//
// calendar:
// 用于解释 year、month 和 day 的日历。
//
// 异常:
// System.ArgumentNullException:
// calendar 为 null。
//
// System.ArgumentOutOfRangeException:
// year 不在 calendar 所支持的范围内。 - 或 - month 小于 1 或大于 calendar 中的月数。 - 或 - day 小于
// 1 或大于 month 中的天数。 - 或 - hour 小于 0 或大于 23 - 或 - minute 小于 0 或大于 59。 - 或 -
// second 小于 0 或大于 59。
public DateTime(int year, int month, int day, int hour, int minute, int second, Calendar calendar);
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定年、月、日、小时、分钟、秒和协调世界时 (UTC) 或本地时间。
//
// 参数:
// year:
// 年(1 到 9999)。
//
// month:
// 月(1 到 12)。
//
// day:
// 日(1 到 month 中的天数)。
//
// hour:
// 小时(0 到 23)。
//
// minute:
// 分(0 到 59)。
//
// second:
// 秒(0 到 59)。
//
// kind:
// 枚举值之一,该值指示 year、month、day、hour、minute 和 second 指定了本地时间、协调世界时 (UTC),还是两者皆未指定。
//
// 异常:
// System.ArgumentOutOfRangeException:
// year 小于 1 或大于 9999。 - 或 - month 小于 1 或大于 12。 - 或 - day 小于 1 或大于 month 中的天数。
// - 或 - hour 小于 0 或大于 23。 - 或 - minute 小于 0 或大于 59。 - 或 - second 小于 0 或大于 59。
//
// System.ArgumentException:
// kind 不是 System.DateTimeKind 值之一。
public DateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind);
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定的年、月、日、小时、分钟、秒和毫秒。
//
// 参数:
// year:
// 年(1 到 9999)。
//
// month:
// 月(1 到 12)。
//
// day:
// 日(1 到 month 中的天数)。
//
// hour:
// 小时(0 到 23)。
//
// minute:
// 分(0 到 59)。
//
// second:
// 秒(0 到 59)。
//
// millisecond:
// 毫秒(0 到 999)。
//
// 异常:
// System.ArgumentOutOfRangeException:
// year 小于 1 或大于 9999。 - 或 - month 小于 1 或大于 12。 - 或 - day 小于 1 或大于 month 中的天数。
// - 或 - hour 小于 0 或大于 23。 - 或 - minute 小于 0 或大于 59。 - 或 - second 小于 0 或大于 59。
// - 或 - millisecond 小于 0 或大于 999。
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond);
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定日历的指定年、月、日、小时、分钟、秒和毫秒。
//
// 参数:
// year:
// 年(1 到 calendar 中的年数)。
//
// month:
// 月(1 到 calendar 中的月数)。
//
// day:
// 日(1 到 month 中的天数)。
//
// hour:
// 小时(0 到 23)。
//
// minute:
// 分(0 到 59)。
//
// second:
// 秒(0 到 59)。
//
// millisecond:
// 毫秒(0 到 999)。
//
// calendar:
// 用于解释 year、month 和 day 的日历。
//
// 异常:
// System.ArgumentNullException:
// calendar 为 null。
//
// System.ArgumentOutOfRangeException:
// year 不在 calendar 所支持的范围内。 - 或 - month 小于 1 或大于 calendar 中的月数。 - 或 - day 小于
// 1 或大于 month 中的天数。 - 或 - hour 小于 0 或大于 23。 - 或 - minute 小于 0 或大于 59。 - 或 -
// second 小于 0 或大于 59。 - 或 - millisecond 小于 0 或大于 999。
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar);
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定年、月、日、小时、分钟、秒、毫秒和协调世界时 (UTC) 或本地时间。
//
// 参数:
// year:
// 年(1 到 9999)。
//
// month:
// 月(1 到 12)。
//
// day:
// 日(1 到 month 中的天数)。
//
// hour:
// 小时(0 到 23)。
//
// minute:
// 分(0 到 59)。
//
// second:
// 秒(0 到 59)。
//
// millisecond:
// 毫秒(0 到 999)。
//
// kind:
// 枚举值之一,该值指示 year、month、day, hour、minute、second 和 millisecond 指定了本地时间、协调世界时
// (UTC),还是两者皆未指定。
//
// 异常:
// System.ArgumentOutOfRangeException:
// year 小于 1 或大于 9999。 - 或 - month 小于 1 或大于 12。 - 或 - day 小于 1 或大于 month 中的天数。
// - 或 - hour 小于 0 或大于 23。 - 或 - minute 小于 0 或大于 59。 - 或 - second 小于 0 或大于 59。
// - 或 - millisecond 小于 0 或大于 999。
//
// System.ArgumentException:
// kind 不是 System.DateTimeKind 值之一。
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind);
//
// 摘要:
// 将 System.DateTime 结构的新实例初始化为指定日历的指定年、月、日、小时、分钟、秒、毫秒和协调世界时 (UTC) 或本地时间。
//
// 参数:
// year:
// 年(1 到 calendar 中的年数)。
//
// month:
// 月(1 到 calendar 中的月数)。
//
// day:
// 日(1 到 month 中的天数)。
//
// hour:
// 小时(0 到 23)。
//
// minute:
// 分(0 到 59)。
//
// second:
// 秒(0 到 59)。
//
// millisecond:
// 毫秒(0 到 999)。
//
// calendar:
// 用于解释 year、month 和 day 的日历。
//
// kind:
// 枚举值之一,该值指示 year、month、day, hour、minute、second 和 millisecond 指定了本地时间、协调世界时
// (UTC),还是两者皆未指定。
//
// 异常:
// System.ArgumentNullException:
// calendar 为 null。
//
// System.ArgumentOutOfRangeException:
// year 不在 calendar 所支持的范围内。 - 或 - month 小于 1 或大于 calendar 中的月数。 - 或 - day 小于
// 1 或大于 month 中的天数。 - 或 - hour 小于 0 或大于 23。 - 或 - minute 小于 0 或大于 59。 - 或 -
// second 小于 0 或大于 59。 - 或 - millisecond 小于 0 或大于 999。
//
// System.ArgumentException:
// kind 不是 System.DateTimeKind 值之一。
public DateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, Calendar calendar, DateTimeKind kind);
// 摘要:
// 将指定的日期和时间与另一个指定的日期和时间相减,返回一个时间间隔。
//
// 参数:
// d1:
// 要从中减去的日期和时间值(被减数)。
//
// d2:
// 要减去的日期和时间值(减数)。
//
// 返回结果:
// d1 和 d2 之间的时间间隔;即 d1 减去 d2。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static TimeSpan operator -(DateTime d1, DateTime d2);
//
// 摘要:
// 从指定的日期和时间减去指定的时间间隔,返回新的日期和时间。
//
// 参数:
// d:
// 要从其中减去的日期和时间值。
//
// t:
// 待减去的时间间隔。
//
// 返回结果:
// 一个对象,其值为 d 的值减去 t 的值。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public static DateTime operator -(DateTime d, TimeSpan t);
//
// 摘要:
// 确定 System.DateTime 的两个指定的实例是否不等。
//
// 参数:
// d1:
// 要比较的第一个对象。
//
// d2:
// 要比较的第二个对象。
//
// 返回结果:
// 如果 d1 和 d2 不表示同一日期和时间,则为 true;否则为 false。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static bool operator !=(DateTime d1, DateTime d2);
//
// 摘要:
// 将指定的时间间隔加到指定的日期和时间以生成新的日期和时间。
//
// 参数:
// d:
// 要添加的日期和时间值。
//
// t:
// 待添加的时间间隔。
//
// 返回结果:
// 一个对象,它是 d 和 t 值的和。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public static DateTime operator +(DateTime d, TimeSpan t);
//
// 摘要:
// 确定指定的 System.DateTime 是否小于另一个指定的 System.DateTime。
//
// 参数:
// t1:
// 要比较的第一个对象。
//
// t2:
// 要比较的第二个对象。
//
// 返回结果:
// 如果 t1 小于 t2,则为 true;否则为 false。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static bool operator <(DateTime t1, DateTime t2);
//
// 摘要:
// 确定指定的 System.DateTime 是否小于或等于另一个指定的 System.DateTime。
//
// 参数:
// t1:
// 要比较的第一个对象。
//
// t2:
// 要比较的第二个对象。
//
// 返回结果:
// 如果 t1 小于等于 t2,则为 true;否则为 false。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static bool operator <=(DateTime t1, DateTime t2);
//
// 摘要:
// 确定 System.DateTime 的两个指定的实例是否相等。
//
// 参数:
// d1:
// 要比较的第一个对象。
//
// d2:
// 要比较的第二个对象。
//
// 返回结果:
// 如果 d1 和 d2 表示同一日期和时间,则为 true;否则为 false。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static bool operator ==(DateTime d1, DateTime d2);
//
// 摘要:
// 确定指定的 System.DateTime 是否大于另一个指定的 System.DateTime。
//
// 参数:
// t1:
// 要比较的第一个对象。
//
// t2:
// 要比较的第二个对象。
//
// 返回结果:
// 如果 t1 大于 t2,则为 true;否则为 false。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static bool operator >(DateTime t1, DateTime t2);
//
// 摘要:
// 确定指定的 System.DateTime 是否大于等于另一个指定的 System.DateTime。
//
// 参数:
// t1:
// 要比较的第一个对象。
//
// t2:
// 要比较的第二个对象。
//
// 返回结果:
// 如果 t1 大于等于 t2,则为 true;否则为 false。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static bool operator >=(DateTime t1, DateTime t2);
// 摘要:
// 获取此实例的日期部分。
//
// 返回结果:
// 一个新对象,其日期与此实例相同,时间值设置为午夜 12:00:00 (00:00:00)。
public DateTime Date { get; }
//
// 摘要:
// 获取此实例所表示的日期为该月中的第几天。
//
// 返回结果:
// 日组成部分,表示为 1 和 31 之间的一个值。
public int Day { get; }
//
// 摘要:
// 获取此实例所表示的日期是星期几。
//
// 返回结果:
// 一个枚举常量,指示此 System.DateTime 值是星期几。
public DayOfWeek DayOfWeek { get; }
//
// 摘要:
// 获取此实例所表示的日期是该年中的第几天。
//
// 返回结果:
// 该年中的第几天,表示为 1 和 366 之间的一个值。
public int DayOfYear { get; }
//
// 摘要:
// 获取此实例所表示日期的小时部分。
//
// 返回结果:
// 小时组成部分,表示为 0 和 23 之间的一个值。
public int Hour { get; }
//
// 摘要:
// 获取一个值,该值指示由此实例表示的时间是基于本地时间、协调世界时 (UTC),还是两者皆否。
//
// 返回结果:
// 用于指示当前时间表示的含义的枚举值之一。 默认值为 System.DateTimeKind.Unspecified。
public DateTimeKind Kind { get; }
//
// 摘要:
// 获取此实例所表示日期的毫秒部分。
//
// 返回结果:
// 毫秒组成部分,表示为 0 和 999 之间的一个值。
public int Millisecond { get; }
//
// 摘要:
// 获取此实例所表示日期的分钟部分。
//
// 返回结果:
// 分钟组成部分,表示为 0 和 59 之间的一个值。
public int Minute { get; }
//
// 摘要:
// 获取此实例所表示日期的月份部分。
//
// 返回结果:
// 月组成部分,表示为 1 和 12 之间的一个值。
public int Month { get; }
//
// 摘要:
// 获取一个 System.DateTime 对象,该对象设置为此计算机上的当前日期和时间,表示为本地时间。
//
// 返回结果:
// 其值为当前日期和时间的对象。
public static DateTime Now { get; }
//
// 摘要:
// 获取此实例所表示日期的秒部分。
//
// 返回结果:
// 秒组成部分,表示为 0 和 59 之间的一个值。
public int Second { get; }
//
// 摘要:
// 获取表示此实例的日期和时间的计时周期数。
//
// 返回结果:
// 表示此实例的日期和时间的计时周期数。 该值介于 DateTime.MinValue.Ticks 和 DateTime.MaxValue.Ticks
// 之间。
public long Ticks { get; }
//
// 摘要:
// 获取此实例的当天的时间。
//
// 返回结果:
// 一个时间间隔,它表示当天自午夜以来已经过时间的部分。
public TimeSpan TimeOfDay { get; }
//
// 摘要:
// 获取当前日期。
//
// 返回结果:
// 一个对象,设置为当天日期,其时间组成部分设置为 00:00:00。
public static DateTime Today { get; }
//
// 摘要:
// 获取一个 System.DateTime 对象,该对象设置为此计算机上的当前日期和时间,表示为协调通用时间 (UTC)。
//
// 返回结果:
// 其值为当前 UTC 日期和时间的对象。
public static DateTime UtcNow { get; }
//
// 摘要:
// 获取此实例所表示日期的年份部分。
//
// 返回结果:
// 年份(介于 1 和 9999 之间)。
public int Year { get; }
// 摘要:
// 返回一个新的 System.DateTime,它将指定 System.TimeSpan 的值加到此实例的值上。
//
// 参数:
// value:
// 正或负时间间隔。
//
// 返回结果:
// 一个对象,其值是此实例所表示的日期和时间与 value 所表示的时间间隔之和。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public DateTime Add(TimeSpan value);
//
// 摘要:
// 返回一个新的 System.DateTime,它将指定的天数加到此实例的值上。
//
// 参数:
// value:
// 由整数和小数部分组成的天数。 value 参数可以是负数也可以是正数。
//
// 返回结果:
// 一个对象,其值是此实例所表示的日期和时间与 value 所表示的天数之和。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public DateTime AddDays(double value);
//
// 摘要:
// 返回一个新的 System.DateTime,它将指定的小时数加到此实例的值上。
//
// 参数:
// value:
// 由整数和小数部分组成的小时数。 value 参数可以是负数也可以是正数。
//
// 返回结果:
// 一个对象,其值是此实例所表示的日期和时间与 value 所表示的小时数之和。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public DateTime AddHours(double value);
//
// 摘要:
// 返回一个新的 System.DateTime,它将指定的毫秒数加到此实例的值上。
//
// 参数:
// value:
// 由整数和小数部分组成的毫秒数。 value 参数可以是负数也可以是正数。 请注意,该值被舍入到最近的整数。
//
// 返回结果:
// 一个对象,其值是此实例所表示的日期和时间与 value 所表示的毫秒数之和。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public DateTime AddMilliseconds(double value);
//
// 摘要:
// 返回一个新的 System.DateTime,它将指定的分钟数加到此实例的值上。
//
// 参数:
// value:
// 由整数和小数部分组成的分钟数。 value 参数可以是负数也可以是正数。
//
// 返回结果:
// 一个对象,其值是此实例所表示的日期和时间与 value 所表示的分钟数之和。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public DateTime AddMinutes(double value);
//
// 摘要:
// 返回一个新的 System.DateTime,它将指定的月数加到此实例的值上。
//
// 参数:
// months:
// 月份数。 months 参数可以是负数也可以是正数。
//
// 返回结果:
// 一个对象,其值是此实例所表示的日期和时间与 months 所表示的时间之和。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
// - 或 - months 小于 -120,000 或大于 120,000。
public DateTime AddMonths(int months);
//
// 摘要:
// 返回一个新的 System.DateTime,它将指定的秒数加到此实例的值上。
//
// 参数:
// value:
// 由整数和小数部分组成的秒数。 value 参数可以是负数也可以是正数。
//
// 返回结果:
// 一个对象,其值是此实例所表示的日期和时间与 value 所表示的秒数之和。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public DateTime AddSeconds(double value);
//
// 摘要:
// 返回一个新的 System.DateTime,它将指定的计时周期数加到此实例的值上。
//
// 参数:
// value:
// 以 100 纳秒为单位的计时周期数。 value 参数可以是正数也可以是负数。
//
// 返回结果:
// 一个对象,其值是此实例所表示的日期和时间与 value 所表示的时间之和。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public DateTime AddTicks(long value);
//
// 摘要:
// 返回一个新的 System.DateTime,它将指定的年份数加到此实例的值上。
//
// 参数:
// value:
// 年份数。 value 参数可以是负数也可以是正数。
//
// 返回结果:
// 一个对象,其值是此实例所表示的日期和时间与 value 所表示的年份数之和。
//
// 异常:
// System.ArgumentOutOfRangeException:
// value 或得到的 System.DateTime 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public DateTime AddYears(int value);
//
// 摘要:
// 对两个 System.DateTime 的实例进行比较,并返回一个指示第一个实例是早于、等于还是晚于第二个实例的整数。
//
// 参数:
// t1:
// 要比较的第一个对象。
//
// t2:
// 要比较的第二个对象。
//
// 返回结果:
// 有符号数字,指示 t1 和 t2 的相对值。 值类型 Condition 小于零 t1 早于 t2。 零 t1 与 t2 相同。 大于零 t1 晚于
// t2。
public static int Compare(DateTime t1, DateTime t2);
//
// 摘要:
// 将此实例的值与指定的 System.DateTime 值相比较,并返回一个整数,该整数指示此实例是早于、等于还是晚于指定的 System.DateTime
// 值。
//
// 参数:
// value:
// 要与当前实例进行比较的对象。
//
// 返回结果:
// 有符号数字,指示此实例和 value 参数的相对值。 值 说明 小于零 此实例早于 value。 零 此实例与 value 相同。 大于零 此实例晚于
// value。
public int CompareTo(DateTime value);
//
// 摘要:
// 将此实例的值与包含指定的 System.DateTime 值的指定对象相比较,并返回一个整数,该整数指示此实例是早于、等于还是晚于指定的 System.DateTime
// 值。
//
// 参数:
// value:
// 要比较的装箱对象,或 null。
//
// 返回结果:
// 一个有符号数字,指示此实例和 value 的相对值。 值 说明 小于零 此实例早于 value。 零 此实例与 value 相同。 大于零 此实例晚于
// value 或 value 为 null。
//
// 异常:
// System.ArgumentException:
// value 不是 System.DateTime。
public int CompareTo(object value);
//
// 摘要:
// 返回指定年和月中的天数。
//
// 参数:
// year:
// 年。
//
// month:
// 月(介于 1 到 12 之间的一个数字)。
//
// 返回结果:
// 指定 year 中 month 的天数。 例如,如果 month 等于 2(表示二月),则返回值为 28 或 29,具体取决于 year 是否为闰年。
//
// 异常:
// System.ArgumentOutOfRangeException:
// month 小于 1 或大于 12。 - 或 - year 小于 1 或大于 9999。
public static int DaysInMonth(int year, int month);
//
// 摘要:
// 返回一个值,该值指示此实例的值是否与指定的 System.DateTime 实例的值相等。
//
// 参数:
// value:
// 要与此实例进行比较的对象。
//
// 返回结果:
// 如果 value 参数等于此实例的值,则为 true;否则为 false。
public bool Equals(DateTime value);
//
// 摘要:
// 返回一个值,该值指示此实例是否等于指定的对象。
//
// 参数:
// value:
// 要与此实例进行比较的对象。
//
// 返回结果:
// 如果 value 是 System.DateTime 的实例并且等于此实例的值,则为 true;否则为 false。
public override bool Equals(object value);
//
// 摘要:
// 返回一个值,该值指示 System.DateTime 的两个实例是否具有同一个日期和时间值。
//
// 参数:
// t1:
// 要比较的第一个对象。
//
// t2:
// 要比较的第二个对象。
//
// 返回结果:
// 如果两个值相等,则为 true;否则为 false。
public static bool Equals(DateTime t1, DateTime t2);
//
// 摘要:
// 反序列化一个 64 位二进制值,并重新创建序列化的 System.DateTime 初始对象。
//
// 参数:
// dateData:
// 64 位带符号整数,它对 2 位字段的 System.DateTime.Kind 属性以及 62 位字段的 System.DateTime.Ticks
// 属性进行了编码。
//
// 返回结果:
// 一个对象,它等效于由 System.DateTime.ToBinary() 方法序列化的 System.DateTime 对象。
//
// 异常:
// System.ArgumentException:
// dateData 小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public static DateTime FromBinary(long dateData);
//
// 摘要:
// 将指定的 Windows 文件时间转换为等效的本地时间。
//
// 参数:
// fileTime:
// 以计时周期表示的 Windows 文件时间。
//
// 返回结果:
// 一个表示本地时间的对象,等效于由 fileTime 参数表示的日期和时间。
//
// 异常:
// System.ArgumentOutOfRangeException:
// fileTime 小于零或表示大于 System.DateTime.MaxValue 的时间。
public static DateTime FromFileTime(long fileTime);
//
// 摘要:
// 将指定的 Windows 文件时间转换为等效的 UTC 时间。
//
// 参数:
// fileTime:
// 以计时周期表示的 Windows 文件时间。
//
// 返回结果:
// 一个表示 UTC 时间的对象,等效于由 fileTime 参数表示的日期和时间。
//
// 异常:
// System.ArgumentOutOfRangeException:
// fileTime 小于零或表示大于 System.DateTime.MaxValue 的时间。
public static DateTime FromFileTimeUtc(long fileTime);
//
// 摘要:
// 返回与指定的 OLE 自动化日期等效的 System.DateTime。
//
// 参数:
// d:
// OLE 自动化日期值。
//
// 返回结果:
// 一个对象,它表示与 d 相同的日期和时间。
//
// 异常:
// System.ArgumentException:
// 该日期不是有效的 OLE 自动化日期值。
public static DateTime FromOADate(double d);
//
// 摘要:
// 将此实例的值转换为标准日期和时间格式说明符支持的所有字符串表示形式。
//
// 返回结果:
// 字符串数组,其中每个元素都表示此实例的以标准日期和时间格式说明符之一进行格式设置的一个值。
public string[] GetDateTimeFormats();
//
// 摘要:
// 将此实例的值转换为指定的标准日期和时间格式说明符支持的所有字符串表示形式。
//
// 参数:
// format:
// 标准日期和时间格式字符串(请参见注解)。
//
// 返回结果:
// 字符串数组,其中每个元素都表示此实例的以 format 标准日期和时间格式说明符之一进行格式设置的一个值。
//
// 异常:
// System.FormatException:
// format 不是有效的标准日期和时间格式说明符。
public string[] GetDateTimeFormats(char format);
//
// 摘要:
// 将此实例的值转换为标准日期和时间格式说明符和指定的区域性特定格式信息支持的所有字符串表示形式。
//
// 参数:
// provider:
// 一个对象,它提供有关此实例的区域性特定格式设置信息。
//
// 返回结果:
// 字符串数组,其中每个元素都表示此实例的以标准日期和时间格式说明符之一进行格式设置的一个值。
public string[] GetDateTimeFormats(IFormatProvider provider);
//
// 摘要:
// 将此实例的值转换为指定的标准日期和时间格式说明符和区域性特定格式信息支持的所有字符串表示形式。
//
// 参数:
// format:
// 日期和时间格式的字符串(请参见注解)。
//
// provider:
// 一个对象,它提供有关此实例的区域性特定格式设置信息。
//
// 返回结果:
// 字符串数组,其中每个元素都表示此实例的以标准日期和时间格式说明符之一进行格式设置的一个值。
//
// 异常:
// System.FormatException:
// format 不是有效的标准日期和时间格式说明符。
public string[] GetDateTimeFormats(char format, IFormatProvider provider);
//
// 摘要:
// 返回此实例的哈希代码。
//
// 返回结果:
// 32 位有符号整数哈希代码。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public override int GetHashCode();
//
// 摘要:
// 返回值类型 System.DateTime 的 System.TypeCode。
//
// 返回结果:
// 枚举常数 System.TypeCode.DateTime。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public TypeCode GetTypeCode();
//
// 摘要:
// 指示此 System.DateTime 实例是否在当前时区的夏时制范围内。
//
// 返回结果:
// 如果 System.DateTime.Kind 为 System.DateTimeKind.Local 或 System.DateTimeKind.Unspecified
// 并且此 System.DateTime 实例的值在当前时区的夏时制范围以内,则为 true。 如果 System.DateTime.Kind 为
// System.DateTimeKind.Utc,则返回 false。
public bool IsDaylightSavingTime();
//
// 摘要:
// 返回指定的年份是否为闰年的指示。
//
// 参数:
// year:
// 四位数年份。
//
// 返回结果:
// 如果 year 为闰年,则为 true;否则为 false。
//
// 异常:
// System.ArgumentOutOfRangeException:
// year 小于 1 或大于 9999。
public static bool IsLeapYear(int year);
//
// 摘要:
// 将日期和时间的指定字符串表示形式转换为其等效的 System.DateTime。
//
// 参数:
// s:
// 包含要转换的日期和时间的字符串。
//
// 返回结果:
// 一个对象,它等效于 s 中包含的日期和时间。
//
// 异常:
// System.ArgumentNullException:
// s 为 null。
//
// System.FormatException:
// s 中不包含有效的日期和时间的字符串表示形式。
public static DateTime Parse(string s);
//
// 摘要:
// 使用指定的区域性特定格式信息,将日期和时间的指定字符串表示形式转换为其等效的 System.DateTime。
//
// 参数:
// s:
// 包含要转换的日期和时间的字符串。
//
// provider:
// 一个对象,提供有关 s 的区域性特定格式信息。
//
// 返回结果:
// 一个对象,它等效于 s 中包含的日期和时间,由 provider 指定。
//
// 异常:
// System.ArgumentNullException:
// s 为 null。
//
// System.FormatException:
// s 中不包含有效的日期和时间的字符串表示形式。
public static DateTime Parse(string s, IFormatProvider provider);
//
// 摘要:
// 使用指定的区域性特定格式信息和格式设置样式将日期和时间的指定字符串表示形式转换为其等效的 System.DateTime。
//
// 参数:
// s:
// 包含要转换的日期和时间的字符串。
//
// provider:
// 一个对象,提供有关 s 的区域性特定格式设置信息。
//
// styles:
// 枚举值的按位组合,用于指示 s 成功执行分析操作所需的样式元素以及定义如何根据当前时区或当前日期解释已分析日期的样式元素。 一个用来指定的典型值为
// System.Globalization.DateTimeStyles.None。
//
// 返回结果:
// 一个对象,它等效于 s 中包含的日期和时间,由 provider 和 styles 指定。
//
// 异常:
// System.ArgumentNullException:
// s 为 null。
//
// System.FormatException:
// s 中不包含有效的日期和时间的字符串表示形式。
//
// System.ArgumentException:
// styles 包含 System.Globalization.DateTimeStyles 值的无效组合。 例如,System.Globalization.DateTimeStyles.AssumeLocal
// 和 System.Globalization.DateTimeStyles.AssumeUniversal。
public static DateTime Parse(string s, IFormatProvider provider, DateTimeStyles styles);
//
// 摘要:
// 使用指定的格式和区域性特定格式信息,将日期和时间的指定字符串表示形式转换为其等效的 System.DateTime。 字符串表示形式的格式必须与指定的格式完全匹配。
//
// 参数:
// s:
// 包含要转换的日期和时间的字符串。
//
// format:
// 用于定义所需的 s 格式的格式说明符。
//
// provider:
// 一个对象,提供有关 s 的区域性特定格式信息。
//
// 返回结果:
// 一个对象,它等效于 s 中包含的日期和时间,由 format 和 provider 指定。
//
// 异常:
// System.ArgumentNullException:
// s 或 format 为 null。
//
// System.FormatException:
// s 或 format 是空字符串。 - 或 - s 不包含与 format 中指定的模式相对应的日期和时间。 - 或 - s 中的小时组成部分和
// AM/PM 指示符不一致。
public static DateTime ParseExact(string s, string format, IFormatProvider provider);
//
// 摘要:
// 使用指定的格式、区域性特定的格式信息和样式将日期和时间的指定字符串表示形式转换为其等效的 System.DateTime。 字符串表示形式的格式必须与指定的格式完全匹配,否则会引发异常。
//
// 参数:
// s:
// 包含要转换的日期和时间的字符串。
//
// format:
// 用于定义所需的 s 格式的格式说明符。
//
// provider:
// 一个对象,提供有关 s 的区域性特定格式设置信息。
//
// style:
// 枚举值的按位组合,提供有关以下内容的附加信息:s、可能出现在 s 中的样式元素或从 s 到 System.DateTime 值的转换。 一个要指定的典型值为
// System.Globalization.DateTimeStyles.None。
//
// 返回结果:
// 一个对象,它等效于 s 中包含的日期和时间,由 format、provider 和 style 指定。
//
// 异常:
// System.ArgumentNullException:
// s 或 format 为 null。
//
// System.FormatException:
// s 或 format 是空字符串。 - 或 - s 不包含与 format 中指定的模式相对应的日期和时间。 - 或 - s 中的小时组成部分和
// AM/PM 指示符不一致。
//
// System.ArgumentException:
// style 包含无效的 System.Globalization.DateTimeStyles 值组合。 例如,System.Globalization.DateTimeStyles.AssumeLocal
// 和 System.Globalization.DateTimeStyles.AssumeUniversal。
public static DateTime ParseExact(string s, string format, IFormatProvider provider, DateTimeStyles style);
//
// 摘要:
// 使用指定的格式数组、区域性特定格式信息和样式,将日期和时间的指定字符串表示形式转换为其等效的 System.DateTime。 字符串表示形式的格式必须至少与指定的格式之一完全匹配,否则会引发异常。
//
// 参数:
// s:
// 包含要转换的一个或多个日期和时间的字符串。
//
// formats:
// s 的允许格式的数组。
//
// provider:
// 一个对象,提供有关 s 的区域性特定格式信息。
//
// style:
// 枚举值的一个按位组合,指示 s 所允许的格式。 一个要指定的典型值为 System.Globalization.DateTimeStyles.None。
//
// 返回结果:
// 一个对象,它等效于 s 中包含的日期和时间,由 formats、provider 和 style 指定。
//
// 异常:
// System.ArgumentNullException:
// s 或 formats 为 null。
//
// System.FormatException:
// s 是空字符串。 - 或 - formats 的一个元素是空字符串。 - 或 - s 不包含与 formats 中的任何元素对应的日期和时间。 -
// 或 - s 中的小时组成部分和 AM/PM 指示符不一致。
//
// System.ArgumentException:
// style 包含无效的 System.Globalization.DateTimeStyles 值组合。 例如,System.Globalization.DateTimeStyles.AssumeLocal
// 和 System.Globalization.DateTimeStyles.AssumeUniversal。
public static DateTime ParseExact(string s, string[] formats, IFormatProvider provider, DateTimeStyles style);
//
// 摘要:
// 创建新的 System.DateTime 对象,该对象具有与指定的 System.DateTime 相同的刻度数,但是根据指定的 System.DateTimeKind
// 值的指示,指定为本地时间或协调世界时 (UTC),或者两者皆否。
//
// 参数:
// value:
// 日期和时间。
//
// kind:
// 枚举值之一,该值指示新对象是表示本地时间、UTC,还是两者皆否。
//
// 返回结果:
// 一个新对象,它具有与 value 参数表示的对象相同的刻度数以及由 kind 参数指定的 System.DateTimeKind 值。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public static DateTime SpecifyKind(DateTime value, DateTimeKind kind);
//
// 摘要:
// 从此实例中减去指定的日期和时间。
//
// 参数:
// value:
// 要减去的日期和时间值。
//
// 返回结果:
// 一个时间间隔,它等于此实例所表示的日期和时间减去 value 所表示的日期和时间。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 结果小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public TimeSpan Subtract(DateTime value);
//
// 摘要:
// 从此实例中减去指定持续时间。
//
// 参数:
// value:
// 待减去的时间间隔。
//
// 返回结果:
// 一个对象,它等于此实例所表示的日期和时间减去 value 所表示的时间间隔。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 结果小于 System.DateTime.MinValue 或大于 System.DateTime.MaxValue。
public DateTime Subtract(TimeSpan value);
//
// 摘要:
// 将当前 System.DateTime 对象序列化为一个 64 位二进制值,该值随后可用于重新创建 System.DateTime 对象。
//
// 返回结果:
// 64 位带符号整数,它对 System.DateTime.Kind 和 System.DateTime.Ticks 属性进行了编码。
public long ToBinary();
//
// 摘要:
// 将当前 System.DateTime 对象的值转换为 Windows 文件时间。
//
// 返回结果:
// 表示为 Windows 文件时间的当前 System.DateTime 对象的值。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的文件时间将表示协调世界时公元 1601 年 1 月 1 日午夜 12:00 之前的 日期和时间。
public long ToFileTime();
//
// 摘要:
// 将当前 System.DateTime 对象的值转换为 Windows 文件时间。
//
// 返回结果:
// 表示为 Windows 文件时间的当前 System.DateTime 对象的值。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 所生成的文件时间将表示协调世界时公元 1601 年 1 月 1 日午夜 12:00 之前的 日期和时间。
public long ToFileTimeUtc();
//
// 摘要:
// 将当前 System.DateTime 对象的值转换为本地时间。
//
// 返回结果:
// 一个对象,其 System.DateTime.Kind 属性为 System.DateTimeKind.Local,并且其值为等效于当前 System.DateTime
// 对象的值的本地时间;如果经转换的值过大以至于不能由 System.DateTime 对象表示,则为 System.DateTime.MaxValue,或者,如果经转换的值过小以至于不能表示为
// System.DateTime 对象,则为 System.DateTime.MinValue。
public DateTime ToLocalTime();
//
// 摘要:
// 将当前 System.DateTime 对象的值转换为其等效的长日期字符串表示形式。
//
// 返回结果:
// 一个字符串,它包含当前 System.DateTime 对象的长日期字符串表示形式。
public string ToLongDateString();
//
// 摘要:
// 将当前 System.DateTime 对象的值转换为其等效的长时间字符串表示形式。
//
// 返回结果:
// 一个字符串,它包含当前 System.DateTime 对象的长时间字符串表示形式。
public string ToLongTimeString();
//
// 摘要:
// 将此实例的值转换为等效的 OLE 自动化日期。
//
// 返回结果:
// 一个双精度浮点数,它包含与此实例的值等效的 OLE 自动化日期。
//
// 异常:
// System.OverflowException:
// 此实例的值无法表示为 OLE 自动化日期。
public double ToOADate();
//
// 摘要:
// 将当前 System.DateTime 对象的值转换为其等效的短日期字符串表示形式。
//
// 返回结果:
// 一个字符串,它包含当前 System.DateTime 对象的短日期字符串表示形式。
public string ToShortDateString();
//
// 摘要:
// 将当前 System.DateTime 对象的值转换为其等效的短时间字符串表示形式。
//
// 返回结果:
// 一个字符串,它包含当前 System.DateTime 对象的短时间字符串表示形式。
public string ToShortTimeString();
//
// 摘要:
// 将当前 System.DateTime 对象的值转换为其等效的字符串表示形式。
//
// 返回结果:
// 当前 System.DateTime 对象的值的字符串表示形式。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 当前区域性所使用的日历支持的日期范围之外的日期和时间。
public override string ToString();
//
// 摘要:
// 使用指定的区域性特定格式信息将当前 System.DateTime 对象的值转换为它的等效字符串表示形式。
//
// 参数:
// provider:
// 一个提供区域性特定的格式设置信息的对象。
//
// 返回结果:
// 由 provider 指定的当前 System.DateTime 对象的值的字符串表示形式。
//
// 异常:
// System.ArgumentOutOfRangeException:
// 日期和时间处于由 provider 使用的日历支持的日期范围之外。
[TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
public string ToString(IFormatProvider provider);
//
// 摘要:
// 使用指定的格式将当前 System.DateTime 对象的值转换为它的等效字符串表示形式。
//
// 参数:
// format:
// 标准或自定义日期和时间格式的字符串(请参见注解)。
//
// 返回结果:
// 当前 System.DateTime 对象的值的字符串表示形式,由 format 指定。
//
// 异常:
// System.FormatException:
// format 的长度是 1,并且它不是为 System.Globalization.DateTimeFormatInfo 定义的格式说明符之一。
// - 或 - format 中不包含有效的自定义格式模式。
//
// System.ArgumentOutOfRangeException:
// 当前区域性所使用的日历支持的日期范围之外的日期和时间。
public string ToString(string format);
//
// 摘要:
// 使用指定的格式和区域性特定格式信息将当前 System.DateTime 对象的值转换为它的等效字符串表示形式。
//
// 参数:
// format:
// 标准或自定义日期和时间格式的字符串。
//
// provider:
// 一个提供区域性特定的格式设置信息的对象。
//
// 返回结果:
// 由 format 和 provider 指定的当前 System.DateTime 对象的值的字符串表示形式。
//
// 异常:
// System.FormatException:
// format 的长度是 1,并且它不是为 System.Globalization.DateTimeFormatInfo 定义的格式说明符之一。
// - 或 - format 中不包含有效的自定义格式模式。
//
// System.ArgumentOutOfRangeException:
// 日期和时间处于由 provider 使用的日历支持的日期范围之外。
public string ToString(string format, IFormatProvider provider);
//
// 摘要:
// 将当前 System.DateTime 对象的值转换为协调世界时 (UTC)。
//
// 返回结果:
// 一个对象,其 System.DateTime.Kind 属性为 System.DateTimeKind.Utc,并且其值为等效于当前 System.DateTime
// 对象的值的 UTC;如果经转换的值过大以至于不能由 System.DateTime 对象表示,则为 System.DateTime.MaxValue,或者,如果经转换的值过小以至于不能由
// System.DateTime 对象表示,则为 System.DateTime.MinValue。
public DateTime ToUniversalTime();
//
// 摘要:
// 将日期和时间的指定字符串表示形式转换为其 System.DateTime 等效项,并返回一个指示转换是否成功的值。
//
// 参数:
// s:
// 包含要转换的日期和时间的字符串。
//
// result:
// 当此方法返回时,如果转换成功,则包含与 s 中包含的日期和时间等效的 System.DateTime 值;如果转换失败,则为 System.DateTime.MinValue。
// 如果 s 参数为 null,是空字符串 ("") 或者不包含日期和时间的有效字符串表示形式,则转换失败。 该参数未经初始化即被传递。
//
// 返回结果:
// 如果 s 参数成功转换,则为 true;否则为 false。
public static bool TryParse(string s, out DateTime result);
//
// 摘要:
// 使用指定的区域性特定格式信息和格式设置样式,将日期和时间的指定字符串表示形式转换为其 System.DateTime 等效项,并返回一个指示转换是否成功的值。
//
// 参数:
// s:
// 包含要转换的日期和时间的字符串。
//
// provider:
// 一个对象,提供有关 s 的区域性特定格式设置信息。
//
// styles:
// 枚举值的按位组合,该组合定义如何根据当前时区或当前日期解释已分析日期。 一个要指定的典型值为 System.Globalization.DateTimeStyles.None。
//
// result:
// 当此方法返回时,如果转换成功,则包含与 s 中包含的日期和时间等效的 System.DateTime 值;如果转换失败,则为 System.DateTime.MinValue。
// 如果 s 参数为 null,是空字符串 ("") 或者不包含日期和时间的有效字符串表示形式,则转换失败。 该参数未经初始化即被传递。
//
// 返回结果:
// 如果 s 参数成功转换,则为 true;否则为 false。
//
// 异常:
// System.ArgumentException:
// styles 不是有效的 System.Globalization.DateTimeStyles 值。 - 或 - styles 包含 System.Globalization.DateTimeStyles
// 值的无效组合(例如,System.Globalization.DateTimeStyles.AssumeLocal 和 System.Globalization.DateTimeStyles.AssumeUniversal)。
//
// System.NotSupportedException:
// provider 是一个非特定区域性并且无法在分析操作中使用。
public static bool TryParse(string s, IFormatProvider provider, DateTimeStyles styles, out DateTime result);
//
// 摘要:
// 使用指定的格式、区域性特定的格式信息和样式将日期和时间的指定字符串表示形式转换为其等效的 System.DateTime。 字符串表示形式的格式必须与指定的格式完全匹配。
// 该方法返回一个指示转换是否成功的值。
//
// 参数:
// s:
// 包含要转换的日期和时间的字符串。
//
// format:
// 所需的 s 格式。
//
// provider:
// 一个对象,提供有关 s 的区域性特定格式设置信息。
//
// style:
// 一个或多个枚举值的按位组合,指示 s 允许使用的格式。
//
// result:
// 当此方法返回时,如果转换成功,则包含与 s 中包含的日期和时间等效的 System.DateTime 值;如果转换失败,则为 System.DateTime.MinValue。
// 如果 s 或 format 参数为 null,或者为空字符串,或者未包含对应于 format 中指定的模式的日期和时间,则转换失败。 该参数未经初始化即被传递。
//
// 返回结果:
// 如果成功转换了 s,则为 true;否则为 false。
//
// 异常:
// System.ArgumentException:
// styles 不是有效的 System.Globalization.DateTimeStyles 值。 - 或 - styles 包含 System.Globalization.DateTimeStyles
// 值的无效组合(例如,System.Globalization.DateTimeStyles.AssumeLocal 和 System.Globalization.DateTimeStyles.AssumeUniversal)。
public static bool TryParseExact(string s, string format, IFormatProvider provider, DateTimeStyles style, out DateTime result);
//
// 摘要:
// 使用指定的格式数组、区域性特定格式信息和样式,将日期和时间的指定字符串表示形式转换为其等效的 System.DateTime。 字符串表示形式的格式必须至少与指定的格式之一完全匹配。
// 该方法返回一个指示转换是否成功的值。
//
// 参数:
// s:
// 包含要转换的一个或多个日期和时间的字符串。
//
// formats:
// s 的允许格式的数组。
//
// provider:
// 一个对象,提供有关 s 的区域性特定格式信息。
//
// style:
// 枚举值的一个按位组合,指示 s 所允许的格式。 一个用来指定的典型值为 System.Globalization.DateTimeStyles.None。
//
// result:
// 当此方法返回时,如果转换成功,则包含与 s 中包含的日期和时间等效的 System.DateTime 值;如果转换失败,则为 System.DateTime.MinValue。
// 如果 s 或 formats 为 null,s 或 formats 的一个元素为空字符串,或者 s 的格式与 formats 中的格式模式所指定的格式都不完全匹配,则转换失败。
// 该参数未经初始化即被传递。
//
// 返回结果:
// 如果 s 参数成功转换,则为 true;否则为 false。
//
// 异常:
// System.ArgumentException:
// styles 不是有效的 System.Globalization.DateTimeStyles 值。 - 或 - styles 包含 System.Globalization.DateTimeStyles
// 值的无效组合(例如,System.Globalization.DateTimeStyles.AssumeLocal 和 System.Globalization.DateTimeStyles.AssumeUniversal)。
public static bool TryParseExact(string s, string[] formats, IFormatProvider provider, DateTimeStyles style, out DateTime result);
}
}