Exemplo n.º 1
0
        /// <summary>
        /// Assumes input is in UTC.
        /// </summary>
        /// <param name="input">The input.</param>
        /// <returns></returns>
        public static TzDateTime ConvertToTzDateTime(string input)
        {
            TzDateTime result;

            TzDateTime.TryParse(input, out result);
            return(result);
        }
Exemplo n.º 2
0
        public void DateTimeInteroperability()
        {
            // Create a UTC DateTime
            DateTime dtUtc = new DateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);

            // Create a UTC TzDateTime with the current time zone
            TzDateTime zdtUtc = new TzDateTime(2000, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc, TzTimeZone.CurrentTimeZone);

            Console.WriteLine(dtUtc);
            Console.WriteLine(zdtUtc);

            AssertUtcSame(dtUtc, zdtUtc);

            // Do some arithmetic operations
            DateTime test = dtUtc.Add(TimeSpan.FromHours(24));
            //TzDateTime ztest = zdtUtc.Add(TimeSpan.FromHours(24));
        }
Exemplo n.º 3
0
        /*public static int GetTimeZoneOffSet(string timeZoneId)
         * {
         *  var utc = DateTime.UtcNow;
         *  return Int32.Parse(GetTimeFromLocationTimeZone(timeZoneId, utc).Subtract(utc).TotalMinutes.ToString());
         * }
         *
         * public static DateTime GetTimeFromLocationTimeZone(string timeZoneId, DateTime currentTime)
         * {
         *  var timeZoneName = GetTimeZoneNameForLocation(locationId);
         *  return !string.IsNullOrEmpty(timeZoneName) ? GetTimeForTimeZoneFromUtcTime(timeZoneName, currentTime) : currentTime;
         * }*/

        public static DateTime GetTimeForTimeZoneFromUtcTime(string timeZoneName, DateTime utcTime)
        {
            if (string.IsNullOrEmpty(timeZoneName))
            {
                return(utcTime);
            }

            var time = new DateTime(utcTime.Ticks, DateTimeKind.Utc);
            var zone = TzTimeZone.GetTimeZone(timeZoneName);

            if (zone != null)
            {
                var local = new TzDateTime(time, zone);
                if (local.TimeZone != null)
                {
                    return(local.DateTimeLocal);
                }
            }

            return(utcTime);
        }
Exemplo n.º 4
0
        public void WorkItem12159_2()
        {
            // New set of bugs
            // ===============
            //
            Console.WriteLine("============ Zone America/Chicago (GMT-06:00) =============");
            TzTimeZone zone = TzTimeZone.CurrentTimeZone;
            Assert.AreEqual(DateTime.UtcNow.Hour, zone.ToUniversalTime(DateTime.Now).Hour);

            zone = TzTimeZone.GetTimeZone(TzConstants.TimezoneAmericaChicago);
            Console.WriteLine("zone.StandardName: '" + zone.StandardName + "'");
            Console.WriteLine("zone.GetUtcOffset(Now).TotalHours: '" + zone.GetUtcOffset(DateTime.Now).TotalHours + "'");
            Console.WriteLine("DateTime.UtcNow: " + DateTime.UtcNow);
            Console.WriteLine("zone.ToUniversalTime(now): '" + zone.ToUniversalTime(DateTime.Now) + "'");
            TzDateTime dtDate = new TzDateTime(zone.ToLocalTime(DateTime.UtcNow), zone);
            dtDate.DateTimeLocal = DateTime.Parse("2007-09-12 03:00");
            Console.WriteLine("dtDate.DateTimeLocal = '2007-09-12 03:00'");
            Console.WriteLine("zone.GetUtcOffset(dtDate).TotalHours: '" + zone.GetUtcOffset(dtDate.DateTimeLocal).TotalHours + "'");
            dtDate.DateTimeLocal = DateTime.Parse("2007-12-12 03:00");
            Console.WriteLine("dtDate.DateTimeLocal = '2007-12-12 03:00'");
            Console.WriteLine("zone.GetUtcOffset(dtDate).TotalHours: '" + zone.GetUtcOffset(dtDate.DateTimeLocal).TotalHours + "'");
            Console.WriteLine("zone.IsDaylightSavingTime(Now): '" + zone.IsDaylightSavingTime(DateTime.Now) + "'");
            Console.WriteLine("zone.IsDaylightSavingTime('2007-09-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2007-09-15")) + "'");
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2007-09-15")));
            Console.WriteLine("zone.IsDaylightSavingTime('2007-12-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2007-12-15")) + "'");
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2007-12-15")));
            Console.WriteLine("zone.IsDaylightSavingTime('2008-09-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2008-09-15")) + "'");
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2008-09-15")));
            Console.WriteLine("zone.IsDaylightSavingTime('2008-12-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2008-12-15")) + "'");
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2008-12-15")));
            //Console.WriteLine("zone.IsDaylightSavingTime('2016-09-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2016-09-15")) + "'");
            //Console.WriteLine("zone.IsDaylightSavingTime('2016-12-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2016-12-15")) + "'");
            Console.WriteLine("zone.IsDaylightSavingTime('1974-09-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("1974-09-15")) + "'");
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("1974-09-15")));
            Console.WriteLine("zone.IsDaylightSavingTime('1974-12-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("1974-12-15")) + "'");
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("1974-12-15")));
            Console.WriteLine("--------- Converting local time to UTC -------------");

            // April 2nd, 2006 2am time changes
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2006-04-01")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2006-04-02")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2006-04-03")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2006-04-02 01:00")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2006-04-02 01:59")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2006-04-02 02:00")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2006-04-02 02:01")));
            Console.WriteLine("DST on rule <= 2006 for America/Chicago: Apr Sun>=1 2:00 (2am (8:00 UTC) becomes 3am)");
            Console.WriteLine("zone.ToUniversalTime('2006-04-02 01:00'): '" + zone.ToUniversalTime(DateTime.Parse("2006-04-02 01:00")) + "'");
            Assert.AreEqual(7, zone.ToUniversalTime(DateTime.Parse("2006-04-02 01:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-04-02 01:30'): '" + zone.ToUniversalTime(DateTime.Parse("2006-04-02 01:30")) + "'");
            Assert.AreEqual(7, zone.ToUniversalTime(DateTime.Parse("2006-04-02 01:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-04-02 02:00'): '" + zone.ToUniversalTime(DateTime.Parse("2006-04-02 02:00")) + "'");
            Assert.AreEqual(7, zone.ToUniversalTime(DateTime.Parse("2006-04-02 02:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-04-02 02:30'): '" + zone.ToUniversalTime(DateTime.Parse("2006-04-02 02:30")) + "'");
            Assert.AreEqual(7, zone.ToUniversalTime(DateTime.Parse("2006-04-02 02:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-04-02 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2006-04-02 03:00")) + "'");
            Assert.AreEqual(8, zone.ToUniversalTime(DateTime.Parse("2006-04-02 03:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-04-02 03:30'): '" + zone.ToUniversalTime(DateTime.Parse("2006-04-02 03:30")) + "'");
            Assert.AreEqual(8, zone.ToUniversalTime(DateTime.Parse("2006-04-02 03:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-04-02 04:00'): '" + zone.ToUniversalTime(DateTime.Parse("2006-04-02 04:00")) + "'");
            Assert.AreEqual(9, zone.ToUniversalTime(DateTime.Parse("2006-04-02 04:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-05-10 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2006-05-10 03:00")) + "'");
            Assert.AreEqual(8, zone.ToUniversalTime(DateTime.Parse("2006-05-10 03:00")).Hour);

            // 2006 October last sun 29 at 2 am
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2006-10-28")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2006-10-29")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2006-10-30")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2006-10-29 01:00")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2006-10-29 01:59")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2006-10-29 02:00")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2006-10-29 02:01")));
            Console.WriteLine("DST off rule <= 2006 for America/Chicago: Nov Sun>=1 2:00 (2am (7:00 UTC) becomes 1am)");
            Console.WriteLine("zone.ToUniversalTime('2006-10-29 00:00'): '" + zone.ToUniversalTime(DateTime.Parse("2006-10-29 00:00")) + "'");
            Assert.AreEqual(5, zone.ToUniversalTime(DateTime.Parse("2006-10-29 00:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-10-29 00:30'): '" + zone.ToUniversalTime(DateTime.Parse("2006-10-29 00:30")) + "'");
            Assert.AreEqual(5, zone.ToUniversalTime(DateTime.Parse("2006-10-29 00:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-10-29 01:00'): '" + zone.ToUniversalTime(DateTime.Parse("2006-11-04 01:00")) + "'");
            Assert.AreEqual(6, zone.ToUniversalTime(DateTime.Parse("2006-10-29 01:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-10-29 01:30'): '" + zone.ToUniversalTime(DateTime.Parse("2006-11-04 01:30")) + "'");
            Assert.AreEqual(6, zone.ToUniversalTime(DateTime.Parse("2006-10-29 01:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-10-29 02:00'): '" + zone.ToUniversalTime(DateTime.Parse("2006-11-04 02:00")) + "'");
            Assert.AreEqual(8, zone.ToUniversalTime(DateTime.Parse("2006-10-29 02:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-10-29 02:30'): '" + zone.ToUniversalTime(DateTime.Parse("2006-11-04 02:30")) + "'");
            Assert.AreEqual(8, zone.ToUniversalTime(DateTime.Parse("2006-10-29 02:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-10-29 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2006-11-04 03:00")) + "'");
            Assert.AreEqual(9, zone.ToUniversalTime(DateTime.Parse("2006-10-29 03:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2006-10-29 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2006-12-12 03:00")) + "'");
            Assert.AreEqual(9, zone.ToUniversalTime(DateTime.Parse("2006-10-29 03:00")).Hour);

            CheckToUniversalTime(zone, "2007");

            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2008-03-8")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2008-03-9")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2008-03-10")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2008-03-9 01:00")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2008-03-9 01:59")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2008-03-9 02:00")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2008-03-9 02:01")));
            Console.WriteLine("DST on rule >= 2007 for America/Chicago: Mar Sun>=8 2:00 (2am (8:00 UTC) becomes 3am)");
            Console.WriteLine("zone.ToUniversalTime('2008-03-09 01:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-09 01:00")) + "'");
            Assert.AreEqual(7, zone.ToUniversalTime(DateTime.Parse("2008-03-09 01:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-03-09 01:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-09 01:30")) + "'");
            Assert.AreEqual(7, zone.ToUniversalTime(DateTime.Parse("2008-03-09 01:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-03-09 02:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-09 02:00")) + "'");
            Assert.AreEqual(7, zone.ToUniversalTime(DateTime.Parse("2008-03-09 02:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-03-09 02:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-09 02:30")) + "'");
            Assert.AreEqual(7, zone.ToUniversalTime(DateTime.Parse("2008-03-09 02:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-03-09 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-09 03:00")) + "'");
            Assert.AreEqual(8, zone.ToUniversalTime(DateTime.Parse("2008-03-09 03:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-03-09 03:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-09 03:30")) + "'");
            Assert.AreEqual(8, zone.ToUniversalTime(DateTime.Parse("2008-03-09 03:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-03-09 04:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-09 04:00")) + "'");
            Assert.AreEqual(9, zone.ToUniversalTime(DateTime.Parse("2008-03-09 04:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-05-10 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-05-10 03:00")) + "'");
            Assert.AreEqual(8, zone.ToUniversalTime(DateTime.Parse("2008-05-09 03:00")).Hour);

            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2008-11-1")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2008-11-2")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2008-11-3")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2008-11-2 01:00")));
            Assert.IsTrue(zone.IsDaylightSavingTime(DateTime.Parse("2008-11-2 01:59")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2008-11-2 02:00")));
            Assert.IsFalse(zone.IsDaylightSavingTime(DateTime.Parse("2008-11-2 02:01")));
            Console.WriteLine("DST off rule >= 2007 for America/Chicago: Nov Sun>=1 2:00 (2am (7:00 UTC) becomes 1am)");
            Console.WriteLine("zone.ToUniversalTime('2008-11-02 00:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-11-02 00:00")) + "'");
            Assert.AreEqual(5, zone.ToUniversalTime(DateTime.Parse("2008-11-02 00:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-11-02 01:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-11-02 01:00")) + "'");
            Assert.AreEqual(6, zone.ToUniversalTime(DateTime.Parse("2008-11-02 01:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-11-02 01:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-11-02 01:30")) + "'");
            Assert.AreEqual(6, zone.ToUniversalTime(DateTime.Parse("2008-11-02 01:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-11-02 02:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-11-02 02:00")) + "'");
            Assert.AreEqual(8, zone.ToUniversalTime(DateTime.Parse("2008-11-02 02:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-11-02 02:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-11-02 02:30")) + "'");
            Assert.AreEqual(8, zone.ToUniversalTime(DateTime.Parse("2008-11-02 02:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-11-02 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-11-02 03:00")) + "'");
            Assert.AreEqual(9, zone.ToUniversalTime(DateTime.Parse("2008-11-02 03:00")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-11-02 03:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-11-02 03:30")) + "'");
            Assert.AreEqual(9, zone.ToUniversalTime(DateTime.Parse("2008-11-02 03:30")).Hour);
            Console.WriteLine("zone.ToUniversalTime('2008-12-12 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-12-12 03:00")) + "'");
            Assert.AreEqual(9, zone.ToUniversalTime(DateTime.Parse("2008-12-02 03:00")).Hour);

            zone = PublicDomain.TzTimeZone.GetTimeZone(TzConstants.TimezoneEuropeParis);

            Console.WriteLine("zone = PublicDomain.TzTimeZone.GetTimeZone('Europe/Paris')");
            Console.WriteLine("zone.GetUtcOffset(Now).TotalHours: '" + zone.GetUtcOffset(DateTime.Parse("2007-01-01")).TotalHours + "'");
            Console.WriteLine("zone.GetUtcOffset(Now).TotalHours: '" + zone.GetUtcOffset(DateTime.Parse("2007-06-01")).TotalHours + "'");
            Console.WriteLine("zone.ToUniversalTime(now): '" + zone.ToUniversalTime(DateTime.Now) + "'");
            Console.WriteLine("zone.DaylightName(): '" + zone.DaylightName + "'");
            Console.WriteLine("zone.GetDaylightChanges(2004).Start: '" + zone.GetDaylightChanges(2004).Start + "'");
            Console.WriteLine("zone.GetDaylightChanges(2004).End: '" + zone.GetDaylightChanges(2004).End + "'");
            Console.WriteLine("zone.GetDaylightChanges(2005).Start: '" + zone.GetDaylightChanges(2005).Start + "'");
            Console.WriteLine("zone.GetDaylightChanges(2005).End: '" + zone.GetDaylightChanges(2005).End + "'");
            Console.WriteLine("zone.GetDaylightChanges(2006).Start: '" + zone.GetDaylightChanges(2006).Start + "'");
            Console.WriteLine("zone.GetDaylightChanges(2006).End: '" + zone.GetDaylightChanges(2006).End + "'");
            Console.WriteLine("zone.GetDaylightChanges(2007).Start: '" + zone.GetDaylightChanges(2007).Start + "'");
            Console.WriteLine("zone.GetDaylightChanges(2007).End: '" + zone.GetDaylightChanges(2007).End + "'");
            Console.WriteLine("zone.GetDaylightChanges(2008).Start: '" + zone.GetDaylightChanges(2008).Start + "'");
            Console.WriteLine("zone.GetDaylightChanges(2008).End: '" + zone.GetDaylightChanges(2008).End + "'");
            Console.WriteLine("zone.GetDaylightChanges(2009).Start: '" + zone.GetDaylightChanges(2009).Start + "'");
            Console.WriteLine("zone.GetDaylightChanges(2009).End: '" + zone.GetDaylightChanges(2009).End + "'");
            Console.WriteLine("zone.GetDaylightChanges(2010).Start: '" + zone.GetDaylightChanges(2010).Start + "'");
            Console.WriteLine("zone.GetDaylightChanges(2010).End: '" + zone.GetDaylightChanges(2010).End + "'");
            Console.WriteLine("---------------");

            dtDate = new PublicDomain.TzDateTime(zone.ToLocalTime(DateTime.UtcNow), zone);
            //DST
            dtDate.DateTimeLocal = DateTime.Parse("2007-09-12 03:00");
            Console.WriteLine("dtDate.DateTimeLocal = '2007-09-12 03:00'");
            Console.WriteLine("zone.GetUtcOffset(dtDate).TotalHours: '" + zone.GetUtcOffset(dtDate.DateTimeLocal).TotalHours + "'");
            //Non-DST
            dtDate.DateTimeLocal = DateTime.Parse("2007-12-12 03:00");
            Console.WriteLine("dtDate.DateTimeLocal = '2007-12-12 03:00'");
            Console.WriteLine("zone.GetUtcOffset(dtDate).TotalHours: '" + zone.GetUtcOffset(dtDate.DateTimeLocal).TotalHours + "'");
            //IsDaylightSavingTime
            Console.WriteLine("zone.IsDaylightSavingTime(Now): '" + zone.IsDaylightSavingTime(DateTime.Now) + "'");
            Console.WriteLine("zone.IsDaylightSavingTime('2007-09-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2007-09-15")) + "'");
            Console.WriteLine("zone.IsDaylightSavingTime('2007-12-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2007-12-15")) + "'");
            Console.WriteLine("zone.IsDaylightSavingTime('2008-09-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2008-09-15")) + "'");
            Console.WriteLine("zone.IsDaylightSavingTime('2008-12-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2008-12-15")) + "'");
            Console.WriteLine("zone.IsDaylightSavingTime('2016-09-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2016-09-15")) + "'");
            Console.WriteLine("zone.IsDaylightSavingTime('2016-12-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("2016-12-15")) + "'");
            Console.WriteLine("zone.IsDaylightSavingTime('1974-09-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("1974-09-15")) + "'");
            Console.WriteLine("zone.IsDaylightSavingTime('1974-12-15'): '" + zone.IsDaylightSavingTime(DateTime.Parse("1974-12-15")) + "'");
            Console.WriteLine("--------- Converting local time to UTC -------------");
            //ToUniversalTime around DST breaks
            Console.WriteLine("zone.ToUniversalTime('2007-01-25 00:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-01-25 00:00")) + "'");
            Console.WriteLine("DST on rule for Europe/Paris: Mar lastSun 1:00u (2am (1:00 UTC) becomes 3am)");
            Console.WriteLine("zone.ToUniversalTime('2007-03-25 00:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-03-25 00:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-03-25 01:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-03-25 01:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-03-25 02:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-03-25 02:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-03-25 02:30'): '" + zone.ToUniversalTime(DateTime.Parse("2007-03-25 02:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-03-25 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-03-25 03:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-03-25 03:30'): '" + zone.ToUniversalTime(DateTime.Parse("2007-03-25 03:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-03-25 04:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-03-25 04:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-03-25 04:30'): '" + zone.ToUniversalTime(DateTime.Parse("2007-03-25 04:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-09-12 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-09-12 03:00")) + "'");
            Console.WriteLine("DST off rule for Europe/Paris: Oct lastSun 1:00u (3am (1:00 UTC) becomes 2am)");
            Console.WriteLine("zone.ToUniversalTime('2007-10-28 00:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-10-28 00:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-10-28 01:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-10-28 01:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-10-28 01:30'): '" + zone.ToUniversalTime(DateTime.Parse("2007-10-28 01:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-10-28 02:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-10-28 02:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-10-28 02:30'): '" + zone.ToUniversalTime(DateTime.Parse("2007-10-28 02:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-10-28 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-10-28 03:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-10-28 03:30'): '" + zone.ToUniversalTime(DateTime.Parse("2007-10-28 03:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-10-28 04:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-10-28 04:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2007-12-12 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2007-12-12 03:00")) + "'");
            Console.WriteLine("DST on rule for Europe/Paris: Mar lastSun 1:00u (2am (1:00 UTC) becomes 3am)");
            Console.WriteLine("zone.ToUniversalTime('2008-03-30 00:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-30 00:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-03-30 01:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-30 01:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-03-30 02:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-30 02:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-03-30 02:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-30 02:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-03-30 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-30 03:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-03-30 03:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-30 03:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-03-30 04:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-30 04:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-03-30 04:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-03-30 04:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-05-10 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-05-10 03:00")) + "'");
            Console.WriteLine("DST off rule for Europe/Paris: Oct lastSun 1:00u (3am (1:00 UTC) becomes 2am)");
            Console.WriteLine("zone.ToUniversalTime('2008-10-26 00:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-10-26 00:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-10-26 01:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-10-26 01:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-10-26 01:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-10-26 01:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-10-26 02:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-10-26 02:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-10-26 02:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-10-26 02:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-10-26 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-10-26 03:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-10-26 03:30'): '" + zone.ToUniversalTime(DateTime.Parse("2008-10-26 03:30")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-10-26 04:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-10-26 04:00")) + "'");
            Console.WriteLine("zone.ToUniversalTime('2008-12-12 03:00'): '" + zone.ToUniversalTime(DateTime.Parse("2008-12-12 03:00")) + "'");
            Console.WriteLine("--------- Converting UTC to local time -------------");
            Console.WriteLine("zone.ToLocalTime('2007-01-25 00:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-01-25 00:00")) + "'");
            Console.WriteLine("DST on rule for Europe/Paris: Mar lastSun 1:00u (2am (1:00 UTC) becomes 3am)");
            Console.WriteLine("zone.ToLocalTime('2007-03-25 00:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-03-25 00:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-03-25 00:30'): '" + zone.ToLocalTime(DateTime.Parse("2007-03-25 00:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-03-25 01:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-03-25 01:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-03-25 01:30'): '" + zone.ToLocalTime(DateTime.Parse("2007-03-25 01:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-03-25 02:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-03-25 02:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-03-25 02:30'): '" + zone.ToLocalTime(DateTime.Parse("2007-03-25 02:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-03-25 03:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-03-25 03:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-03-25 04:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-03-25 04:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-09-12 03:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-09-12 03:00")) + "'");
            Console.WriteLine("DST off rule for Europe/Paris: Oct lastSun 1:00u (3am (1:00 UTC) becomes 2am)");
            Console.WriteLine("zone.ToLocalTime('2007-10-28 00:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-10-28 00:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-10-28 00:30'): '" + zone.ToLocalTime(DateTime.Parse("2007-10-28 00:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-10-28 01:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-10-28 01:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-10-28 01:30'): '" + zone.ToLocalTime(DateTime.Parse("2007-10-28 01:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-10-28 02:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-10-28 02:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-10-28 02:30'): '" + zone.ToLocalTime(DateTime.Parse("2007-10-28 02:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-10-28 03:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-10-28 03:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-10-28 04:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-10-28 04:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2007-12-12 03:00'): '" + zone.ToLocalTime(DateTime.Parse("2007-12-12 03:00")) + "'");
            Console.WriteLine("DST on rule for Europe/Paris: Mar lastSun 1:00u (2am (1:00 UTC) becomes 3am)");
            Console.WriteLine("zone.ToLocalTime('2008-03-30 00:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-03-30 00:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-03-30 00:30'): '" + zone.ToLocalTime(DateTime.Parse("2008-03-30 00:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-03-30 01:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-03-30 01:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-03-30 01:30'): '" + zone.ToLocalTime(DateTime.Parse("2008-03-30 01:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-03-30 02:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-03-30 02:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-03-30 02:30'): '" + zone.ToLocalTime(DateTime.Parse("2008-03-30 02:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-03-30 03:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-03-30 03:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-03-30 04:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-03-30 04:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-05-10 03:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-05-10 03:00")) + "'");
            Console.WriteLine("DST off rule for Europe/Paris: Oct lastSun 1:00u (3am (1:00 UTC) becomes 2am)");
            Console.WriteLine("zone.ToLocalTime('2008-10-26 00:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-10-26 00:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-10-26 00:30'): '" + zone.ToLocalTime(DateTime.Parse("2008-10-26 00:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-10-26 01:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-10-26 01:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-10-26 01:30'): '" + zone.ToLocalTime(DateTime.Parse("2008-10-26 01:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-10-26 02:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-10-26 02:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-10-26 02:30'): '" + zone.ToLocalTime(DateTime.Parse("2008-10-26 02:30")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-10-26 03:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-10-26 03:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-10-26 04:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-10-26 04:00")) + "'");
            Console.WriteLine("zone.ToLocalTime('2008-12-12 03:00'): '" + zone.ToLocalTime(DateTime.Parse("2008-12-12 03:00")) + "'");
        }
Exemplo n.º 5
0
        public void TestGetUtcOffset()
        {
            TzTimeZone zone = TzTimeZone.ZoneUsEastern;
            TzDateTime dtDate = new TzDateTime(zone.ToLocalTime(DateTime.UtcNow), zone);

            dtDate.DateTimeLocal = DateTime.Parse("2007-01-01 03:00");
            Assert.AreEqual(-5, zone.GetUtcOffset(dtDate.DateTimeLocal).TotalHours);
            dtDate.DateTimeLocal = DateTime.Parse("2007-09-12 03:00");
            Assert.AreEqual(-4, zone.GetUtcOffset(dtDate.DateTimeLocal).TotalHours);
            dtDate.DateTimeLocal = DateTime.Parse("2007-12-12 03:00");
            Assert.AreEqual(-5, zone.GetUtcOffset(dtDate.DateTimeLocal).TotalHours);
        }
Exemplo n.º 6
0
        private static bool DoParse(string str, TzTimeZone localTimeZone, out TzDateTime result)
        {
            result = null;

            if (string.IsNullOrEmpty(str))
            {
                throw new ArgumentNullException("str");
            }

            Match m;
            int   matchIndex = RegexUtilities.MatchAny(str, out m,
                                                       FormatYear,
                                                       FormatYearAndMonth,
                                                       FormatComplete,
                                                       FormatCompleteHM,
                                                       FormatCompleteHMS,
                                                       FormatCompleteHMSF);
            int          year = 0, month = 1, day = 1, hours = 0, minutes = 0, seconds = 0, millisecond = 0;
            DateTimeKind kind     = DateTimeKind.Local;
            TzTimeZone   timezone = localTimeZone;

            if (matchIndex != -1)
            {
                if (matchIndex >= 0)
                {
                    year = int.Parse(RegexUtilities.GetCapture(m, 1));
                }
                if (matchIndex >= 1)
                {
                    month = int.Parse(RegexUtilities.GetCapture(m, 2));
                }
                if (matchIndex >= 2)
                {
                    day = int.Parse(RegexUtilities.GetCapture(m, 3));
                }
                if (matchIndex >= 3)
                {
                    hours   = int.Parse(RegexUtilities.GetCapture(m, 4));
                    minutes = int.Parse(RegexUtilities.GetCapture(m, 5));

                    // At this level, we also expect a time zone designator
                    kind = DateTimeKind.Utc;
                    string tzd = RegexUtilities.GetLastCapture(m, 2);
                    if (tzd == UtcZuluIdentifier.ToString())
                    {
                        timezone = TzTimeZone.ZoneUTC;
                    }
                    else
                    {
                        timezone = TzTimeZone.GetTimeZoneByOffset(RegexUtilities.GetLastCapture(m, 1));
                    }
                }
                if (matchIndex >= 4)
                {
                    seconds = int.Parse(RegexUtilities.GetCapture(m, 6));
                }
                if (matchIndex >= 5)
                {
                    millisecond = int.Parse(RegexUtilities.GetCapture(m, 7));
                }
                result = new TzDateTime(year, month, day, hours, minutes, seconds, millisecond, kind, timezone);
                return(true);
            }
            return(false);
        }
Exemplo n.º 7
0
 /// <summary>
 /// Tries the parse.
 /// </summary>
 /// <param name="str">The STR.</param>
 /// <param name="localTimeZone">The local time zone.</param>
 /// <param name="dateTime">The date time.</param>
 /// <returns></returns>
 public static bool TryParse(string str, TzTimeZone localTimeZone, out TzDateTime dateTime)
 {
     return(DoParse(str, localTimeZone, out dateTime));
 }
Exemplo n.º 8
0
 private static string ConvertDateTimeToDbTimeString(DatabaseType databaseType, TzDateTime dt, bool doStringEncapsulation)
 {
     string valStr = "";
     switch (databaseType)
     {
         case DatabaseType.MySql:
         case DatabaseType.SqlServer:
         case DatabaseType.PostgreSql:
             if (doStringEncapsulation)
             {
                 valStr += "'";
             }
             valStr += dt.DateTimeUtc.ToString("HH:mm:ss", CultureInfo.InvariantCulture);
             if (doStringEncapsulation)
             {
                 valStr += "'";
             }
             break;
         default:
             throw new NotImplementedException();
     }
     return valStr;
 }
        private static string ConvertDateTimeToDbTimeString(DatabaseType databaseType, TzDateTime dt, bool doStringEncapsulation)
        {
            string valStr = "";

            switch (databaseType)
            {
            case DatabaseType.MySql:
            case DatabaseType.SqlServer:
            case DatabaseType.PostgreSql:
                if (doStringEncapsulation)
                {
                    valStr += "'";
                }
                valStr += dt.DateTimeUtc.ToString("HH:mm:ss", CultureInfo.InvariantCulture);
                if (doStringEncapsulation)
                {
                    valStr += "'";
                }
                break;

            default:
                throw new NotImplementedException();
            }
            return(valStr);
        }
Exemplo n.º 10
0
        private static bool DoParse(string str, TzTimeZone localTimeZone, out TzDateTime result)
        {
            result = null;

            if (string.IsNullOrEmpty(str))
            {
                throw new ArgumentNullException("str");
            }

            Match m;
            int matchIndex = RegexUtilities.MatchAny(str, out m,
                FormatYear,
                FormatYearAndMonth,
                FormatComplete,
                FormatCompleteHM,
                FormatCompleteHMS,
                FormatCompleteHMSF);
            int year = 0, month = 1, day = 1, hours = 0, minutes = 0, seconds = 0, millisecond = 0;
            DateTimeKind kind = DateTimeKind.Local;
            TzTimeZone timezone = localTimeZone;

            if (matchIndex != -1)
            {
                if (matchIndex >= 0)
                {
                    year = int.Parse(RegexUtilities.GetCapture(m, 1));
                }
                if (matchIndex >= 1)
                {
                    month = int.Parse(RegexUtilities.GetCapture(m, 2));
                }
                if (matchIndex >= 2)
                {
                    day = int.Parse(RegexUtilities.GetCapture(m, 3));
                }
                if (matchIndex >= 3)
                {
                    hours = int.Parse(RegexUtilities.GetCapture(m, 4));
                    minutes = int.Parse(RegexUtilities.GetCapture(m, 5));

                    // At this level, we also expect a time zone designator
                    kind = DateTimeKind.Utc;
                    string tzd = RegexUtilities.GetLastCapture(m, 2);
                    if (tzd == UtcZuluIdentifier.ToString())
                    {
                        timezone = TzTimeZone.ZoneUTC;
                    }
                    else
                    {
                        timezone = TzTimeZone.GetTimeZoneByOffset(RegexUtilities.GetLastCapture(m, 1));
                    }
                }
                if (matchIndex >= 4)
                {
                    seconds = int.Parse(RegexUtilities.GetCapture(m, 6));
                }
                if (matchIndex >= 5)
                {
                    millisecond = int.Parse(RegexUtilities.GetCapture(m, 7));
                }
                result = new TzDateTime(year, month, day, hours, minutes, seconds, millisecond, kind, timezone);
                return true;
            }
            return false;
        }
Exemplo n.º 11
0
 /// <summary>
 /// Tries the parse.
 /// </summary>
 /// <param name="str">The STR.</param>
 /// <param name="localTimeZone">The local time zone.</param>
 /// <param name="dateTime">The date time.</param>
 /// <returns></returns>
 public static bool TryParse(string str, TzTimeZone localTimeZone, out TzDateTime dateTime)
 {
     return DoParse(str, localTimeZone, out dateTime);
 }
Exemplo n.º 12
0
 /// <summary>
 /// Tries the parse.
 /// </summary>
 /// <param name="str">The STR.</param>
 /// <param name="dateTime">The date time.</param>
 /// <returns></returns>
 public static bool TryParse(string str, out TzDateTime dateTime)
 {
     return TryParse(str, null, out dateTime);
 }
Exemplo n.º 13
0
 private void PrintDate(DateTime dt, string tz_name)
 {
     TzTimeZone zone = TzTimeZone.GetTimeZone(tz_name);
     TzDateTime tzdt = new TzDateTime(dt, zone);
     TzDatabase.TzZone dbzone = zone.FindZone(dt);
     Console.WriteLine(tzdt);
     double utc_offset = tzdt.UtcOffset.TotalHours;
     double utc_std_offset = dbzone.UtcOffset.TotalHours;
     Console.WriteLine("utc offset      : {0}", utc_offset);
     Console.WriteLine("utc_std offset  : {0}", utc_std_offset);
     Console.WriteLine("local           : {0}", tzdt.DateTimeLocal);
     Console.WriteLine("utc             : {0}", tzdt.DateTimeUtc);
     Console.WriteLine("dst_name        : {0}", zone.DaylightName);
     Console.WriteLine("std_name        : {0}", zone.StandardName);
     Console.WriteLine("is dst?         : {0}", zone.IsDaylightSavingTime(dt));
     try {
         DaylightTime dst = zone.GetDaylightChanges(dt.Year);
         Console.WriteLine("dst_delta       : {0}", dst.Delta);
         Console.WriteLine("dst_start       : {0}", dst.Start);
         Console.WriteLine("dst_end         : {0}", dst.End);
     } catch (NullReferenceException) {}
     Console.WriteLine(string.Empty);
 }
Exemplo n.º 14
0
 /// <summary>
 /// Converts the string to date time.
 /// </summary>
 /// <param name="subject">The subject.</param>
 /// <param name="timeZone">The time zone.</param>
 /// <param name="ret">The ret.</param>
 /// <returns></returns>
 public static bool ConvertStringToDateTime(string subject, TzTimeZone timeZone, out TzDateTime ret)
 {
     return TzDateTime.TryParseTz(subject, DateTimeStyles.AssumeUniversal, out ret, timeZone);
 }
Exemplo n.º 15
0
 private static void AssertUtcSame(DateTime dtUtc, TzDateTime zdtUtc)
 {
     Assert.AreEqual(dtUtc, zdtUtc.DateTimeUtc);
     Assert.AreNotEqual(dtUtc, zdtUtc.DateTimeLocal);
 }
Exemplo n.º 16
0
 private static string ConvertDateTimeToDbTimeString(DatabaseType databaseType, TzDateTime dt)
 {
     return(ConvertDateTimeToDbTimeString(databaseType, dt, true));
 }
Exemplo n.º 17
0
 /// <summary>
 /// Converts the string to date time.
 /// </summary>
 /// <param name="subject">The subject.</param>
 /// <param name="timeZone">The time zone.</param>
 /// <param name="ret">The ret.</param>
 /// <returns></returns>
 public static bool ConvertStringToDateTime(string subject, TzTimeZone timeZone, out TzDateTime ret)
 {
     return(TzDateTime.TryParseTz(subject, DateTimeStyles.AssumeUniversal, out ret, timeZone));
 }
Exemplo n.º 18
0
 /// <summary>
 /// Tries the parse.
 /// </summary>
 /// <param name="str">The STR.</param>
 /// <param name="dateTime">The date time.</param>
 /// <returns></returns>
 public static bool TryParse(string str, out TzDateTime dateTime)
 {
     return(TryParse(str, null, out dateTime));
 }
Exemplo n.º 19
0
 private static string ConvertDateTimeToDbTimeString(DatabaseType databaseType, TzDateTime dt)
 {
     return ConvertDateTimeToDbTimeString(databaseType, dt, true);
 }