我正在尝试将以下Objective-c代码转换为MonoTouch / C#,但我找不到NSCalendar.componentsFromDate()
方法。看起来它没有在MonoTouch中实现。这是代码:
NSDate *today = [NSDate date];
NSCalendar *gregorian = [[NSCalendar alloc]
initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *weekdayComponents =
[gregorian components:(NSDayCalendarUnit | NSWeekdayCalendarUnit)
fromDate:today];
我是从Apple docs得到的;它需要考虑夏令时。
有关如何将上述代码转换为C#的任何建议?
答案 0 :(得分:2)
答案实际上取决于你将如何处理结果,但如果你想在当前用户的语言环境中使用当前日期的日期和工作日,这是一种方法:
var now = DateTime.Now;
var day = now.Day;
var weekday = now.DayOfWeek;
更新:
如果你有NSDate,你可以这样做:
var dt = ((DateTime) theNSDate).ToLocalTime ();
var day = now.Day;
var weekday = now.DayOfWeek;
答案 1 :(得分:0)
使用DateTime.SpecifyKind使用UTC创建DateTime对象,或使用其中一个接受DateTimeKind作为参数的DateTime构造函数