Dapatkan tanggal saat ini di Swift 3? [Tutup]


115

Bagaimana cara mengatur label.text tanggal sekarang di Swift 3?

Saya ingin mencetak hari ini ke layar. Saya tidak menemukan cara melakukan itu.

Di c # sangat sederhana:

var date = DateTime.Now

Saya perlu menulis 15.09.2016 dengan cepat 3. terima kasih



itu tidak berfungsi lagi?
— yucel

1
Apakah Anda menggulir ke bawah untuk jawaban Swift 3?
— koen

Saya mencoba tetapi saya tidak berhasil
— yucel

1
Anda mungkin ingin menggunakan NSDateFormatterdan kemudian stringFromDate.
— koen

Jawaban:


289

Anda mengatakan dalam komentar Anda ingin mendapatkan "15.09.2016".

Untuk ini, gunakan Datedan DateFormatter:

let date = Date()
let formatter = DateFormatter()

Berikan format yang Anda inginkan ke pemformat:

formatter.dateFormat = "dd.MM.yyyy"

Dapatkan string hasil:

let result = formatter.string(from: date)

Setel label Anda:

label.text = result

Hasil:

15.09.2016


2
Di Swift 4.2, DateFormatter memiliki properti .dateStyle dan .timeStyle. Alih-alih sintaks yang agak buram di atas (yang memberikan kontrol lebih halus - lihat nsdateformatter.com ) Anda bisa menggunakan dateStyle yang dikombinasikan dengan lokal.
— green_knight

63

Anda dapat melakukannya dengan cara ini dengan Swift 3.0:

let date = Date()
let calendar = Calendar.current
let components = calendar.dateComponents([.year, .month, .day], from: date)

let year =  components.year
let month = components.month
let day = components.day

print(year)
print(month)
print(day)

22
Saya tidak percaya bahkan setelah Swift 3 penanganan tanggal itu sangat buruk! Ini memalukan mengingat Tanggal di .NET berada di versi 1 pada tahun 2002 dari memori. DateTime.Now atau DateTime.Now.Month jauh lebih mudah!
— csmith

1
Bagaimana Anda tahu bahwa hari itu Sen, Sel, atau Rab?
— Joseph Astrahan

1
Lihat SwiftDate Cocoapod jika Anda ingin cara yang jauh lebih mudah untuk berinteraksi dengan tanggal secara cepat.
— Rob Norback

1
@csmith Itu karena masih NSDate lama tetapi dengan sintaks Swift. Itu belum ditulis ulang. Anda benar, itu sedikit menyakitkan untuk dikerjakan.
— bandejapaisa
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.