Cla*_*lay 21
当你需要一个简单的日期而不用担心时间部分,时区,本地和utc等时,我创建了一个简单的Date结构.
Date today = Date.Today;
Date yesterday = Date.Today.AddDays(-1);
Date independenceDay = Date.Parse("2013-07-04");
independenceDay.ToLongString(); // "Thursday, July 4, 2013"
independenceDay.ToShortString(); // "7/4/2013"
independenceDay.ToString(); // "7/4/2013"
independenceDay.ToString("s"); // "2013-07-04"
int july = independenceDay.Month; // 7
Run Code Online (Sandbox Code Playgroud)
https://github.com/claycephus/csharp-date
Jon*_*upp 14
不幸的是,不在.Net BCL中.日期通常表示为DateTime对象,时间设置为午夜.
你可以猜到,这意味着你周围有所有伴随的时区问题,即使对于Date对象你也绝对不需要时区处理.
创建一个包装类.像这样的东西:
public class Date:IEquatable<Date>,IEquatable<DateTime>
{
public Date(DateTime date)
{
value = date.Date;
}
public bool Equals(Date other)
{
return other != null && value.Equals(other.value);
}
public bool Equals(DateTime other)
{
return value.Equals(other);
}
public override string ToString()
{
return value.ToString();
}
public static implicit operator DateTime(Date date)
{
return date.value;
}
public static explicit operator Date(DateTime dateTime)
{
return new Date(dateTime);
}
private DateTime value;
}
Run Code Online (Sandbox Code Playgroud)
并暴露value
你想要的任何东西.
Date类型只是VB.NET使用的DateTime类型的别名(就像int变成Integer一样)。这两种类型都具有Date属性,该属性可将时间部分设置为00:00:00的对象返回给您。
归档时间: |
|
查看次数: |
191938 次 |
最近记录: |