Как я могу получить день недели с Фондом? - PullRequest
108 голосов
/ 24 ноября 2010

Как мне получить день недели в виде строки?

Ответы [ 13 ]

0 голосов
/ 22 мая 2017
self.dateTimeFormatter = [[NSDateFormatter alloc] init];
self.dateTimeFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0]; // your timezone
self.dateTimeFormatter.locale = [NSLocale localeWithLocaleIdentifier:@"zh_CN"]; // your locale
self.dateTimeFormatter.dateFormat = @"ccc MM-dd mm:ss";

есть три символа, которые мы можем использовать для форматирования дня недели:

  • E
  • е
  • с

Вам могут помочь следующие два документа.

https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/DataFormatting/Articles/dfDateFormatting10_4.html

http://www.unicode.org/reports/tr35/tr35-31/tr35-dates.html#Date_Format_Patterns

Демо:

Вы можете проверить свой шаблон на этом сайте:

http://nsdateformatter.com/

0 голосов
/ 05 сентября 2016

Swift 2: получить день недели в одной строке. ( на основании неописанного ответа )

let dayOfWeek  = Int((myDate.timeIntervalSinceReferenceDate / (60.0*60.0*24.0)) % 7)
let isMonday   = (dayOfWeek == 0)
let isSunday   = (dayOfWeek == 6)
0 голосов
/ 15 июля 2015

У меня была довольно странная проблема с получением дня недели.Только настройки firstWeekday было недостаточно.Также необходимо было установить часовой пояс.Мое рабочее решение было:

 NSCalendar* cal = [NSCalendar currentCalendar];
 [cal setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0]];
 [cal setFirstWeekday:1]; //Sunday
 NSDateComponents* comp = [cal components:( NSWeekOfMonthCalendarUnit | NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSWeekCalendarUnit)  fromDate:date];
 return [comp weekday]  ;
...