コード例 #1
0
        public void SerializeDateTime()
        {
            IsoDateTimeConverter converter = new IsoDateTimeConverter();

            DateTime d = new DateTime(2000, 12, 15, 22, 11, 3, 55, DateTimeKind.Utc);
            string result;

            result = JsonConvert.SerializeObject(d, converter);
            Assert.Equal(@"""2000-12-15T22:11:03.055Z""", result);

            Assert.Equal(d, JsonConvert.DeserializeObject<DateTime>(result, converter));

            d = new DateTime(2000, 12, 15, 22, 11, 3, 55, DateTimeKind.Local);
            result = JsonConvert.SerializeObject(d, converter);
            Assert.Equal(@"""2000-12-15T22:11:03.055" + GetUtcOffsetText(d) + @"""", result);
        }
コード例 #2
0
        public void PropertiesShouldBeSet()
        {
            IsoDateTimeConverter converter = new IsoDateTimeConverter();
            Assert.Equal(CultureInfo.CurrentCulture, converter.Culture);
            Assert.Equal(string.Empty, converter.DateTimeFormat);
            Assert.Equal(DateTimeStyles.RoundtripKind, converter.DateTimeStyles);

            converter = new IsoDateTimeConverter()
            {
                DateTimeFormat = "F",
                Culture = CultureInfo.InvariantCulture,
                DateTimeStyles = DateTimeStyles.None
            };

            Assert.Equal(CultureInfo.InvariantCulture, converter.Culture);
            Assert.Equal("F", converter.DateTimeFormat);
            Assert.Equal(DateTimeStyles.None, converter.DateTimeStyles);
        }
コード例 #3
0
        public void SerializeFormattedDateTimeInvariantCulture()
        {
            IsoDateTimeConverter converter = new IsoDateTimeConverter() { DateTimeFormat = "F", Culture = CultureInfo.InvariantCulture };

            DateTime d = new DateTime(2000, 12, 15, 22, 11, 3, 0, DateTimeKind.Utc);
            string result;

            result = JsonConvert.SerializeObject(d, converter);
            Assert.Equal(@"""Friday, 15 December 2000 22:11:03""", result);

            Assert.Equal(d, JsonConvert.DeserializeObject<DateTime>(result, converter));

            d = new DateTime(2000, 12, 15, 22, 11, 3, 0, DateTimeKind.Local);
            result = JsonConvert.SerializeObject(d, converter);
            Assert.Equal(@"""Friday, 15 December 2000 22:11:03""", result);
        }
コード例 #4
0
        public void SerializeDateTimeOffset()
        {
            IsoDateTimeConverter converter = new IsoDateTimeConverter();

            DateTimeOffset d = new DateTimeOffset(2000, 12, 15, 22, 11, 3, 55, TimeSpan.Zero);
            string result;

            result = JsonConvert.SerializeObject(d, converter);
            Assert.Equal(@"""2000-12-15T22:11:03.055+00:00""", result);

            Assert.Equal(d, JsonConvert.DeserializeObject<DateTimeOffset>(result, converter));
        }
コード例 #5
0
        public void SerializeDateTimeCulture()
        {
            IsoDateTimeConverter converter = new IsoDateTimeConverter() { Culture = CultureInfo.GetCultureInfo("en-NZ") };

            string json = @"""09/12/2006""";

            DateTime d = JsonConvert.DeserializeObject<DateTime>(json, converter);

            Assert.Equal(9, d.Day);
            Assert.Equal(12, d.Month);
            Assert.Equal(2006, d.Year);
        }
コード例 #6
0
        public void SerializeCustomFormattedDateTime()
        {
            IsoDateTimeConverter converter = new IsoDateTimeConverter
            {
                DateTimeFormat = "dd/MM/yyyy",
                Culture = CultureInfo.InvariantCulture
            };

            string json = @"""09/12/2006""";

            DateTime d = JsonConvert.DeserializeObject<DateTime>(json, converter);

            Assert.Equal(9, d.Day);
            Assert.Equal(12, d.Month);
            Assert.Equal(2006, d.Year);
        }