From 0e4a907edb3b5d82a2f93a03000801b69ba33538 Mon Sep 17 00:00:00 2001 From: Luke Preiner Date: Thu, 7 Jan 2021 11:41:34 -0600 Subject: [PATCH] Added support for DateTimeOffset --- CSharpDate/Date.cs | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/CSharpDate/Date.cs b/CSharpDate/Date.cs index 7ca9fc4..a340117 100644 --- a/CSharpDate/Date.cs +++ b/CSharpDate/Date.cs @@ -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")); @@ -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 @@ -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); + } + } }