Represents a date and time expressed as the number of seconds since 00:00 on 01-Jan-1970.
        public void EpochTime_ToUtcString_Returns_Correct_Value_From_DateTimeOffset_Constructor()
        {
            var expected = new DateTimeOffset(2012, 12, 25, 23, 36, 45, TimeSpan.Zero);
            var epochTime = new EpochTime(expected);

            Assert.AreEqual("Tue, 25 Dec 2012 23:36:45 GMT", epochTime.ToUtcString());
        }
        public void EpochTime_ToString_Returns_Correct_Value_From_Seconds_Constructor()
        {
            const int expected = 1356478605;
            var epochTime = new EpochTime(expected);

            Assert.AreEqual(expected.ToString(CultureInfo.InvariantCulture), epochTime.ToString());
        }
        public void EpochTime_ToDateTimeOffset_Returns_Correct_Value_From_DateTimeOffset_Constructor()
        {
            var expected = new DateTimeOffset(2012, 12, 25, 23, 36, 45, TimeSpan.Zero);
            var epochTime = new EpochTime(expected);

            Assert.AreEqual(expected, epochTime.ToDateTimeOffset());
        }
        /// <summary>
        /// Try and parse a string representing seconds into an EpochTime.
        /// </summary>
        /// <param name="seconds">String containing number of seconds since start of 1970.</param>
        /// <param name="epochTime">Output parameter containing new EpochTime</param>
        /// <returns>True if was able to parse an EpochTime, false otherwise.</returns>
        public static bool TryParseSeconds(string seconds, out EpochTime epochTime)
        {
            ulong secondsValue;

            epochTime = ulong.TryParse(seconds, out secondsValue) ? new EpochTime(secondsValue) : null;
            return(epochTime != null);
        }
        public void EpochTime_ToUtcString_Returns_Correct_Value_From_Seconds_Constructor()
        {
            var epochTime = new EpochTime(1356478605);

            Assert.AreEqual("Tue, 25 Dec 2012 23:36:45 GMT", epochTime.ToUtcString());
        }
        public void EpochTime_ToDateTimeOffset_Returns_Correct_Value_From_Seconds_Constructor()
        {
            var epochTime = new EpochTime(1356478605);

            Assert.AreEqual(new DateTimeOffset(2012, 12, 25, 23, 36, 45, TimeSpan.Zero), epochTime.ToDateTimeOffset());
        }
 /// <summary>
 /// Try and parse a string representing seconds into an EpochTime.
 /// </summary>
 /// <param name="seconds">String containing number of seconds since start of 1970.</param>
 /// <param name="epochTime">Output parameter containing new EpochTime</param>
 /// <returns>True if was able to parse an EpochTime, false otherwise.</returns>
 public static bool TryParseSeconds(string seconds, out EpochTime epochTime)
 {
     ulong secondsValue;
     epochTime = ulong.TryParse(seconds, out secondsValue) ? new EpochTime(secondsValue) : null;
     return epochTime != null;
 }