SmsWeb.Controllers.DateTimeUtcFromOlsenMapping.DateTimeWithOlsenZoneToUtc C# (CSharp) Method

DateTimeWithOlsenZoneToUtc() public method

public DateTimeWithOlsenZoneToUtc ( System.DateTime dateTime, string olsenTimeZone ) : System.DateTime
dateTime System.DateTime
olsenTimeZone string
return System.DateTime
        public DateTime DateTimeWithOlsenZoneToUtc(DateTime dateTime, string olsenTimeZone)
        {
            var dateTimeZoneProvider = DateTimeZoneProviders.Tzdb;
            var dateTimeZone = dateTimeZoneProvider[olsenTimeZone];
            var startTime = dateTime;
            var localDateTime = new LocalDateTime(startTime.Year, startTime.Month, startTime.Day, startTime.Hour, startTime.Minute);
            return dateTimeZone.AtLeniently(localDateTime).ToDateTimeUtc();
        }

Usage Example

        public void MapToTrickleOverTimeTimeZoneTestUTC()
        {
            var startTimeUtc = DateTime.UtcNow;
            const string timeZone = "UTC";

            var mapper = new DateTimeUtcFromOlsenMapping();
            var dateTimeUtc = mapper.DateTimeWithOlsenZoneToUtc(startTimeUtc, timeZone);

            Assert.That(dateTimeUtc.Date.Year, Is.EqualTo(startTimeUtc.Date.Year));
            Assert.That(dateTimeUtc.Date.Month, Is.EqualTo(startTimeUtc.Date.Month));
            Assert.That(dateTimeUtc.Date.Day, Is.EqualTo(startTimeUtc.Date.Day));
            Assert.That(dateTimeUtc.Hour, Is.EqualTo(startTimeUtc.Hour));
            Assert.That(dateTimeUtc.Minute, Is.EqualTo(startTimeUtc.Minute));
        }
All Usage Examples Of SmsWeb.Controllers.DateTimeUtcFromOlsenMapping::DateTimeWithOlsenZoneToUtc
DateTimeUtcFromOlsenMapping