1

我正在尝试将以下 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 文档中得到的;它考虑了夏令时。关于如何将上述代码转换为 C# 的任何建议?

4

2 回答 2

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;
于 2012-10-08T10:10:40.070 回答
0

使用DateTime.SpecifyKind创建使用 UTC 的 DateTime 对象,或使用接受 DateTimeKind 作为参数的 DateTime 构造函数之一

于 2012-10-08T02:52:50.270 回答