Skip to content

Instantly share code, notes, and snippets.

@nodoid
Created December 5, 2016 19:10
Show Gist options
  • Save nodoid/5a8f33264c4954088e3637e6df23e023 to your computer and use it in GitHub Desktop.
Save nodoid/5a8f33264c4954088e3637e6df23e023 to your computer and use it in GitHub Desktop.
public static class DateTimeUtils
{
public static DateTime NSDateToDateTime(this NSDate date)
{
var reference = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(2001, 1, 1, 0, 0, 0));
return reference.AddSeconds(date.SecondsSinceReferenceDate);
}
public static NSDate DateTimeToNSDate(this DateTime date)
{
var reference = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(2001, 1, 1, 0, 0, 0));
return NSDate.FromTimeIntervalSinceReferenceDate((date - reference).TotalSeconds);
}
public static DateTime StartOfWeek(this DateTime dt, DayOfWeek startOfWeek)
{
var ci = System.Threading.Thread.CurrentThread.CurrentCulture;
var fdow = ci.DateTimeFormat.FirstDayOfWeek;
return DateTime.Today.AddDays(-(DateTime.Today.DayOfWeek - fdow));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment