Xamarin.MacのNSDateとDateTimeを相互変換する

提供: MonoBook
2019年5月22日 (水) 05:13時点におけるimported>Administratorによる版 (Administrator がページ「Xamarin.Mac/NSDateとDateTimeを相互変換する」を「Xamarin.MacのNSDateとDateTimeを相互変換する」に移動しました)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
ナビゲーションに移動 検索に移動

Xamarin公式サイトのフォーラムにあった。

    public static class NSDateExtensions
    {
        static readonly DateTime reference = new DateTime(2001, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc);

        public static DateTime ToDateTime(this NSDate date)
        {
            var utcDateTime = reference.AddSeconds(date.SecondsSinceReferenceDate);
            var dateTime = utcDateTime.ToLocalTime();
            return dateTime;
        }

        public static NSDate ToNSDate(this DateTime datetime)
        {
            var utcDateTime = datetime.ToUniversalTime();
            var date = NSDate.FromTimeIntervalSinceReferenceDate((utcDateTime - reference).TotalSeconds);
            return date;
        }
    }

関連項目[編集 | ソースを編集]