簡體   English   中英

NSCalendar星期幾

[英]NSCalendar week number of date

我正在嘗試從日期獲取星期數。 有人可以告訴我,無論我在哪里輸入日期,為什么只返回0:

let currentWeekNumber = NSCalendar.currentCalendar().components(NSCalendarUnit.CalendarUnitWeekOfYear, fromDate: myDate).weekOfYear

myDate的格式如下:2015-01-23 11:52:35 +0000

Swift中的解決方案將是不錯的:)

好像您的發布行沒有錯誤。 只需檢查以下解決方案以確認結果是否相同。

注意:只是想消除由於日期而引起的無關問題的任何可能性。 對於Swift,您可以使用。

let calender = NSCalendar.currentCalendar()
let dateComponent = calender.components(NSCalendarUnit.WeekOfYearCalendarUnit  | NSCalendarUnit.DayCalendarUnit  | NSCalendarUnit.MonthCalendarUnit  | NSCalendarUnit.YearCalendarUnit, fromDate:NSDate())

println ("Week: = \(dateComponent.weekOfYear)")

因此,響應應如下所示:

Week: = 4

嘗試這個 :

NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitWeekOfMonth fromDate:[NSDate date]];
NSInteger curr_month = [components month];
NSInteger curr_year = [components year];
NSInteger curr_date = [components day];
NSLog(@"%d %d %d, \n Week no: %ld",curr_date, curr_month,curr_year, (long)[components weekOfMonth]);

輸出為:2015-01-22 18:19:40.209 Sample [38734:3031191] 22 1 2015,

第4周

使用此代碼

    NSDateComponents *components = [[NSCalendar currentCalendar] components:NSCalendarUnitDay | NSCalendarUnitMonth | NSCalendarUnitYear | NSCalendarUnitWeekOfMonth fromDate:[NSDate date]];
    NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
    NSInteger month = [components month];
    NSInteger year = [components year];
    NSInteger day = [components day];
    NSLog(@"%ld",(long)[components weekOfMonth]);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM