コード例 #1
0
        internal static new JsonDate Parse(string text)
        {
            if (text == null)
            {
                throw new ArgumentNullException(nameof(text));
            }

            // TODO support: unixtimeseconds.partialseconds

            if (text.Length > 4 && _IsNumber(text)) // UnixTime
            {
                var date = DateTimeOffset.FromUnixTimeSeconds(long.Parse(text));

                return(new JsonDate(date));
            }
            else if (text.Length <= 4 || text[4] == '-') // ISO: 2012-
            {
                return(new JsonDate(IsoDate.Parse(text).ToDateTimeOffset()));
            }
            else
            {
                // NOT ISO ENCODED
                // "Thu, 5 Apr 2012 16:59:01 +0200",
                return(new JsonDate(DateTimeOffset.Parse(text)));
            }
        }