Skip to content

Commit

Permalink
Added support for DateTimeOffset
Browse files Browse the repository at this point in the history
  • Loading branch information
lpreiner committed Jan 7, 2021
1 parent 16a2af0 commit 0e4a907
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions CSharpDate/Date.cs
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,10 @@ public Date(DateTime dateTime)
this._dt = dateTime.AddTicks(-dateTime.Ticks % TimeSpan.TicksPerDay);
}

public Date(DateTimeOffset dateTimeOffset)
:this(dateTimeOffset.DateTime)
{ }

private Date(SerializationInfo info, StreamingContext context)
{
this._dt = DateTime.FromFileTime(info.GetInt64("ticks"));
Expand Down Expand Up @@ -106,6 +110,16 @@ public static explicit operator Date(DateTime d)
return new Date(d);
}

public static implicit operator DateTimeOffset(Date d)
{
return d._dt;
}

public static explicit operator Date(DateTimeOffset d)
{
return new Date(d);
}

public int Day
{
get
Expand Down Expand Up @@ -342,4 +356,12 @@ public static Date ToDate(this DateTime dt)
return new Date(dt);
}
}

public static class DateTimeOffsetExtensions
{
public static Date ToDate(this DateTimeOffset dto)
{
return new Date(dto);
}
}
}

0 comments on commit 0e4a907

Please sign in to comment.