我需要将 Cocoa NSDate
转换为 C# DateTime
,反之亦然。
我正在使用以下方法来实现这一点:
public static DateTime NSDateToDateTime (Foundation.NSDate date)
{
DateTime reference = TimeZone.CurrentTimeZone.ToLocalTime (
new DateTime (2001, 1, 1, 0, 0, 0));
return reference.AddSeconds (date.SecondsSinceReferenceDate);
}
public static Foundation.NSDate DateTimeToNSDate (DateTime date)
{
DateTime reference = TimeZone.CurrentTimeZone.ToLocalTime (
new DateTime (2001, 1, 1, 0, 0, 0));
return Foundation.NSDate.FromTimeIntervalSinceReferenceDate (
(date - reference).TotalSeconds);
}
但事实证明,这种方式并没有考虑夏令时。
例如。 DateTime
对象返回时间为凌晨 6 点的 NSDate
。
最佳答案
我很确定这是一种过时的方法。您现在可以将 NSDate 直接转换为 DateTime。
Foundation.NSDate nsDate = // someValue
DateTime dateTime = (DateTime)nsDate;
关于c# - Xamarin 'iOS Foundation NSDate to C# DateTime conversion' 反之亦然不考虑夏令时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43470136/