web-dev-qa-db-ja.com

NSDateからの曜日名?

IPhoneアプリケーションに日の名前を表示したいのですが、解決策が見つかりません。手伝ってくれてありがとう

38
Amine Arous
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE"];
NSString *dayName = [dateFormatter stringFromDate:yourDate];
[dateFormatter release];

ユーザーのロケールでdayNameを取得します。

(チェック nicode標準 日付形式のサンプルの場合)

117
Jilouc

私はそれを見つけました、答えは:

NSDate *now = [NSDate date];
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEEE"];
NSLog(@"%@",[dateFormatter stringFromDate:now]);

ありがとう

15
Amine Arous

NSDateカテゴリ

+ (NSString *)dayNameWith0Monday:(NSInteger)index {

    static NSDateFormatter * DateFormatter = nil;
    if (DateFormatter == nil) {
        DateFormatter = [[NSDateFormatter alloc] init];
        [DateFormatter setDateFormat:@"EEEE"];
        [DateFormatter setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
    }

    NSDate * day = [NSDate dateWithTimeIntervalSince1970:((4 * 24 * 60 * 60) + (24 * 60 * 60 * index))];
    return [DateFormatter stringFromDate:day];
}

常に月曜日になります!そのような行動が必要な場合

3
Peter Lapisu

-[NSCalendar components:fromDate:]を見てください。

日付(カレンダー、グレゴリオ暦、中国語など)によって日付が異なる場合があるため、日付自体には日がありません。

編集:実際には、申し訳ありません。それはあなたがその日を得て、プログラムでそれを扱うためにあなたがするであろうことです。日のみを表示したい場合は、NSDateFormatterをご覧ください。

3
Ken

@Jiloucの回答Swift:

let formatter = DateFormatter.init()
formatter.dateFormat = "EEEE"
let date = Date.init() //or any date
let dayName = formatter.string(from: date)
1
Hemang

日付と時刻を処理するための多くの優れたリソースがあります。これは、私が github で学習したものです。

0
petert