Xamarin.iOS で NSDate を DateTime に変換する

なんで NSDate ってこんなにわけわからんの?

こんなもの System.DateTime に変換してやる、えーい!

using System;
using Foundation;

namespace YourNameSpace
{
    public static class NSDateExtensions
    {
        public static DateTime ToDateTime(this NSDate date)
        {
            DateTime reference = TimeZone.CurrentTimeZone.ToLocalTime(
                new DateTime(2001, 1, 1, 0, 0, 0));
            return reference.AddSeconds(date.SecondsSinceReferenceDate);
        }
    }
}

参考は↓だけど、使いやすいように Extension Method にしました。