date与date时间

我正在开发一个程序,要求返回一个事件的date。 我正在寻找一个“date”,而不是“date时间”。 必须有一个返回date的数据types…在那里?

没有没有。 DateTime代表由date和时间组成的某个时间点。 但是,您可以通过Date属性(这是另一个DateTime时间设置为00:00:00 )检索date部分。

而且您可以通过DayMonthYear检索单个date属性。

当你需要一个简单的date时,我创build了一个简单的Date结构 ,而不用担心时间部分,时区,本地和utc等。

 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 

https://github.com/claycephus/csharp-date

不幸的是,不在.Net BCL中。 date通常表示为时间设置为午夜的DateTime对象。

正如你所猜测的那样,这意味着你有所有相关的时区问题,即使对于一个Date对象,你也绝对不需要时区处理。

创build一个包装类。 像这样的东西:

 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; } 

并揭露你想要的任何value

Datetypes只是VB.NET使用的DateTimetypes的别名(如int变成Integer)。 这两种types都有一个Date属性,它将时间部分设置为00:00:00的对象返回给您。

date时间有一个date属性,您可以用来隔离date部分。 当时间部分为空时, ToString方法也做了很好的工作,只显示date部分。

您可以返回时间部分为00:00:00的DateTime,并忽略它。 date是作为时间戳整数处理的,因此将date与整数中的时间相结合是有意义的。

为此,您需要使用date,但忽略时间值。

通常一个date将是一个时间为00:00:00的date时间

DateTimetypes具有.Date属性,该属性返回DateTime ,其时间值如上设置。

DateTime对象有一个只返回值的date部分的属性。

  public static void Main() { System.DateTime _Now = DateAndTime.Now; Console.WriteLine("The Date and Time is " + _Now); //will return the date and time Console.WriteLine("The Date Only is " + _Now.Date); //will return only the date Console.Write("Press any key to continue . . . "); Console.ReadKey(true); } 

没有Datetypes。

但是,您可以使用DateTime.Date来获取date。

例如

 DateTime date = DateTime.Now.Date; 
 public class AsOfdates { public string DisplayDate { get; set; } private DateTime TheDate; public DateTime DateValue { get { return TheDate.Date; } set { TheDate = value; } } } 

您可以尝试以下方法之一:

 DateTime.Now.ToLongDateString(); DateTime.Now.ToShortDateString(); 

但BCL中没有“date”types。