Bagaimana cara mendapatkan hari dalam seminggu sebagai string?
ios
objective-c
cocoa-touch
nsdate
Moshe
sumber
sumber
[dateFormatter weekdaySymbols]
(dan serupa), yang mengembalikan NSArray NSStrings dimulai dengan Minggu di indeks 0.[gregorian setFirstWeekday:2];
dan untuk Senin 01/06/2015 saya terima 2 ([components weekday]
). Mengapa? - Saya menemukan jawabannya di siniCukup gunakan tiga baris ini:
sumber
Banyak jawaban di sini tidak digunakan lagi. Ini berfungsi pada iOS 8.4 dan memberi Anda hari dalam seminggu sebagai string dan sebagai angka.
sumber
weekday
komponen dariNSCalendar
adalahNSInteger
, Anda perlu mentransmisikan[comps weekday]
keint
, jika perlu, atau akan muncul peringatan terkait hal ini.Inilah cara Anda melakukannya di Swift 3, dan mendapatkan nama hari yang dilokalkan…
sumber
sumber
Saya membutuhkan indeks hari dalam seminggu (Gregorian) sederhana, di mana 0 = Minggu dan 6 = Sabtu untuk digunakan dalam algoritme pencocokan pola. Dari sana, mudah saja mencari nama hari dari array menggunakan indeks. Inilah yang saya dapatkan yang tidak memerlukan pemformat tanggal, atau NSCalendar atau manipulasi komponen tanggal:
sumber
Berikut adalah kode yang diperbarui untuk Swift 3
Kode:
Untuk mencetak nama acara sebagai String:
sumber
Saya pikir topik ini sangat berguna, jadi saya memposting beberapa kode yang kompatibel dengan Swift 2.1 .
Ke mana pun Anda dapat menelepon:
Swift 3.0.0
Seperti yang disarankan @ delta2flat, saya memperbarui jawaban yang memberi pengguna kemampuan untuk menentukan format khusus.
sumber
Jawaban Vladimir bekerja dengan baik untuk saya, tetapi saya pikir saya akan memposting tautan Unicode untuk string format tanggal.
http://www.unicode.org/reports/tr35/tr35-25.html#Date_Format_Patterns
Tautan ini untuk iOS 6. Versi iOS lainnya memiliki standar yang berbeda yang dapat ditemukan di dokumentasi X-Code.
sumber
Cara ini bekerja di Swift:
Kemudian tetapkan hari kerja ke angka yang dihasilkan.
sumber
Saya memiliki masalah yang cukup aneh dengan mendapatkan hari dalam seminggu. Hanya mengatur hari Minggu pertama saja tidak cukup. Zona waktu juga perlu diatur. Solusi kerja saya adalah:
sumber
Swift 2: Dapatkan hari dalam satu baris. ( berdasarkan jawaban neoscribe )
sumber
ada tiga simbol yang bisa kita gunakan untuk memformat hari dalam seminggu:
Dua dokumen berikut dapat membantu Anda.
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
Demo:
Anda dapat menguji pola Anda di situs web ini:
http://nsdateformatter.com/
sumber