blob: 52345e4b55753bea925da8e745003456aba4ff1f (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Globalization;
namespace Newtonsoft.Json.Utilities
{
internal static class DateTimeUtils
{
public static string GetUtcOffsetText(this DateTime d)
{
TimeSpan utcOffset = d.GetUtcOffset();
return utcOffset.Hours.ToString("+00;-00", CultureInfo.InvariantCulture) + ":" + utcOffset.Minutes.ToString("00;00", CultureInfo.InvariantCulture);
}
public static TimeSpan GetUtcOffset(this DateTime d)
{
#if PocketPC || NET20
return TimeZone.CurrentTimeZone.GetUtcOffset(d);
#else
return TimeZoneInfo.Local.GetUtcOffset(d);
#endif
}
#if !NETFX_CORE
public static XmlDateTimeSerializationMode ToSerializationMode(DateTimeKind kind)
{
switch (kind)
{
case DateTimeKind.Local:
return XmlDateTimeSerializationMode.Local;
case DateTimeKind.Unspecified:
return XmlDateTimeSerializationMode.Unspecified;
case DateTimeKind.Utc:
return XmlDateTimeSerializationMode.Utc;
default:
throw MiscellaneousUtils.CreateArgumentOutOfRangeException("kind", kind, "Unexpected DateTimeKind value.");
}
}
#endif
}
}
|