DateTimeStudy/DateTimeStudy/DateTimeStudy.cs

114 lines
4.0 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using System;
namespace DateTimeStudy
{
/// <summary>
/// DateTime学习
/// 全球时间
/// </summary>
/// <example>http://www.cnblogs.com/artech/archive/2010/09/04/InsideDateTime_01.html</example>
public class DateTimeStudy
{
#region 1、你是否知道System.DateTimeKind
/*
说明System.DateTime类型不是class而是一个struct换言之它是值类型而不是引用类型。
DateTime处理包含我们熟悉的年、月、日、时、分、秒和毫秒等基本属性之外还具有一个重要的表示时间类型Kind的属性Kind。
该属性的类型为System.DateTimeKind枚举。DateTimeKind定义如下它具有三个枚举值Unspecified、Utc和Local。
后两个分别表示UTC格林威治时间和本地时间。Unspecified顾名思义就是尚未指定具体类型这是默认值。
*/
/* DateTimeKind 代码
[Serializable, ComVisible(true)]
public enum DateTimeKind
{
Unspecified,
Utc,
Local
}
*/
/*
在DateTime类型中表示时间类型的Kind属性是只读的只能在构造函数中指定。
虽然Kind属性是只读的但是我们还用另外一中设定Kind的方式那就是调用DateTime的静态方法的SpecifyKind。该方法不会真正去修改一个现有DateTime对象的Kind属性而是会重新创建一个新的DateTime对象。方法返回的对象具有和指定时间相同的基本属性年、月、日、时、分、秒和毫秒该DateTime对象具有你指定的DateTimeKind值。
*/
/// <summary>
/// 创建时间
/// 无参数
/// </summary>
public DateTime CreateDateTime()
{
return new DateTime();
}
/// <summary>
/// 创建时间
/// ticks
/// </summary>
public DateTime CreateDateTime(long ticks)
{
return new DateTime(ticks);
}
/// <summary>
/// 创建时间
/// ticks和DateTimeKind
/// </summary>
public DateTime CreateDateTime(long ticks, DateTimeKind kind)
{
return new DateTime(ticks,kind);
}
/// <summary>
/// 创建时间
/// 年 月 日 时 分 秒
/// </summary>
public DateTime CreateDateTime(int year, int month, int day, int hour, int minute, int second)
{
return new DateTime(year, month, day, hour, minute, second);
}
/// <summary>
/// 创建时间
/// 年 月 日 时 分 秒 DateTimeKind
/// </summary>
public DateTime CreateDateTime(int year, int month, int day, int hour, int minute, int second, DateTimeKind kind)
{
return new DateTime(year, month, day, hour, minute, second, kind);
}
/// <summary>
/// 创建时间
/// 年 月 日 时 分 秒 豪秒
/// </summary>
public DateTime CreateDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond)
{
return new DateTime(year, month, day, hour, minute, second, millisecond);
}
/// <summary>
/// 创建时间
/// 年 月 日 时 分 秒 豪秒 DateTimeKind
/// </summary>
public DateTime CreateDateTime(int year, int month, int day, int hour, int minute, int second, int millisecond, DateTimeKind kind)
{
return new DateTime(year, month, day, hour, minute, second, millisecond, kind);
}
#endregion
#region 2、几个常用DateTime对象的DateTimeKind
#endregion
#region 3、DateTime的对等性问题
#endregion
#region 4、通过DateTime类型的ToLocalTime和ToUniversalTime方法实现UTC和Local的转换
#endregion
#region 5、通过TimeZoneInfo实现Utc和Local的转换
#endregion
}
}