I am working on a program that requires the date of an event to get returned.
I am looking for a Date
, not a DateTime
.
Is there
The Date type is just an alias of the DateTime type used by VB.NET (like int becomes Integer). Both of these types have a Date property that returns you the object with the time part set to 00:00:00.
You can return DateTime where the time portion is 00:00:00 and just ignore it. The dates are handled as timestamp integers so it makes sense to combine the date with the time as that is present in the integer anyway.
No there isn't. DateTime
represents some point in time that is composed of a date and a time. However, you can retrieve the date part via the Date property (which is another DateTime
with the time set to 00:00:00
).
And you can retrieve individual date properties via Day, Month and Year.
You could try one of the following:
DateTime.Now.ToLongDateString();
DateTime.Now.ToShortDateString();
But there is no "Date" type in the BCL.
Create a wrapper class. Something like this:
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;
}
And expose whatever of value
you want.
public class AsOfdates
{
public string DisplayDate { get; set; }
private DateTime TheDate;
public DateTime DateValue
{
get
{
return TheDate.Date;
}
set
{
TheDate = value;
}
}
}