我试图获取一个日期字符串并将其转换为特定的 NSDate (例如 1981 年 7 月 1 日),但我没有看到设置日期的方法。有谁知道如何做到这一点?也许将 DateTime 对象转换为 NSDate?
最简单的方法是从 DateTime 设置它。
修订: NSDate 转换运算符现在是显式的,不再是隐式的!我更新了下面的示例。
如果您查看 NSDate 原型,您会发现两个运算符:
public static explicit operator NSDate(DateTime dt);
public static explicit operator DateTime(NSDate d);
这两个将为您进行转换。
NSDate 与 DateTime 之间的显式转换非常好,但您必须注意,NSDate 始终是 UTC 时间,并且 DateTime 默认设置为 DateTimeKind.Unspecified (当从数据库读取时)或 DateTimeKind.Locale (当使用 DateTime.Today 设置时) )。
无需复杂时区计算的最佳转换方法是强制使用正确的 DateTimeKind:
// Set NSDate:
DateTime date = DateTime.Parse("1981-07-01")
NSDate nsDate = (NSDate)DateTime.SpecifyKind(date, DateTimeKind.Utc);
// Get DateTime from NSDate:
date = DateTime.SpecifyKind((DateTime)nsDate, DateTimeKind.Unspecified);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)