Skip to content

Instantly share code, notes, and snippets.

@mattjohnsonpint
Created November 7, 2015 19:36
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mattjohnsonpint/1b1d986d7765ce2a04b7 to your computer and use it in GitHub Desktop.
Save mattjohnsonpint/1b1d986d7765ce2a04b7 to your computer and use it in GitHub Desktop.
Demonstration for StackOverflow question 33579361
using System;
using System.Globalization;
using NodaTime;
using NodaTime.Text;
namespace ConsoleApplication10
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Time Zone: " + TimeZoneInfo.Local.DisplayName);
Console.WriteLine();
//var input = "2015-11-06T18:34:07+05:30";
var input = "2015-11-07T08:00:00-05:00";
{
DateTime dt = DateTime.Parse(input,
CultureInfo.InvariantCulture,
DateTimeStyles.AdjustToUniversal);
Console.WriteLine("Test 1: {0} {1}", dt, dt.Kind);
}
{
DateTime dt = DateTime.ParseExact(input,
"yyyy-MM-dd'T'HH:mm:ssK",
CultureInfo.InvariantCulture,
DateTimeStyles.AdjustToUniversal);
Console.WriteLine("Test 2: {0} {1}", dt, dt.Kind);
}
{
DateTimeOffset dto = DateTimeOffset.Parse(input,
CultureInfo.InvariantCulture);
DateTime dt = dto.UtcDateTime;
Console.WriteLine("Test 3: {0} {1}", dt, dt.Kind);
}
{
DateTimeOffset dto = DateTimeOffset.ParseExact(input,
"yyyy-MM-dd'T'HH:mm:sszzz",
CultureInfo.InvariantCulture);
DateTime dt = dto.UtcDateTime;
Console.WriteLine("Test 4: {0} {1}", dt, dt.Kind);
}
{
OffsetDateTimePattern pattern = OffsetDateTimePattern.ExtendedIsoPattern;
OffsetDateTime odt = pattern.Parse(input).Value;
DateTimeOffset dto = odt.ToDateTimeOffset();
DateTime dt = dto.UtcDateTime;
Console.WriteLine("Test 5: {0} {1}", dt, dt.Kind);
}
Console.WriteLine();
}
}
}
@mattjohnsonpint
Copy link
Author

Output:

image

@mattjohnsonpint
Copy link
Author

Note the time zone has no bearing on the results. I can change it and I still get the same output:

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment