0

たとえば、NSDate から時間コンポーネントを削除する必要があります。値は「2012-08-12 22:15:54 +00000」ですが、値は「2012-08-12 03:00:00 +00000」です。

私が使用しているコードは次のとおりです。

NSDate* getNDateOfWeek(int week, int day) {

    NSDate *now = [NSDate date];
    NSCalendar *calendar = [[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease];
    calendar.timeZone = [NSTimeZone systemTimeZone];
    unsigned unitFlags = NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit;
    NSDateComponents *comp = [calendar components:unitFlags fromDate:now];
    [comp setWeekday:day];
    [comp setWeek: week];
    [comp setHour:0];
    NSDate *resultDate = [calendar dateFromComponents:comp];
    return resultDate;

}

何か助けはありますか?

4

1 に答える 1

0

別の結果を達成しようとしているかもしれませんが、単に「今日」の日付を探している場合は、次のようになります。

// Output -> 'Mon, Jan 16, 2012'
- (NSString *)todaysDate
{
   NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
   [dateFormat setDateFormat:@"EEE MMM d Y"];    
   return [dateFormat stringFromDate:[[NSDate alloc] init]];
}
于 2012-08-12T22:54:44.723 に答える