Swift 3'te güncel tarih alın? [kapalı]


115

Swift 3'te label.text güncel tarihini nasıl ayarlayabilirim?

Sadece bugün ekrana yazdırmak istiyorum. Bunu nasıl yapacağımı bulamadım.

C # çok basittir:

var date = DateTime.Now

15.09.2016 yazmalıyım hızlı 3. teşekkürler



bu artık çalışmıyor mu?
yucel

1
Swift 3 cevabı için en alta kaydırdın mı?
koen

Denedim ama başaramadım
yucel

1
Muhtemelen NSDateFormatterve sonra kullanmak istersiniz stringFromDate.
koen

Yanıtlar:


289

Bir yorumda "15.09.2016" almak istediğinizi söylüyorsunuz.

Bunun için Dateve kullanın DateFormatter:

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

Biçimlendiriciye istediğiniz biçimi verin:

formatter.dateFormat = "dd.MM.yyyy"

Sonuç dizesini alın:

let result = formatter.string(from: date)

Etiketinizi ayarlayın:

label.text = result

Sonuç:

2016/09/15


2
Swift 4.2'de, DateFormatter hem .dateStyle hem de .timeStyle özelliklerine sahiptir. Yukarıdaki biraz opak sözdizimi yerine (bu daha ayrıntılı kontrol sağlar - bkz. Nsdateformatter.com ) yerel ayar ile birlikte dateStyle'ı kullanabilirsiniz.
green_knight

63

Swift 3.0 ile bunu şu şekilde yapabilirsiniz:

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
Swift 3'ten sonra bile tarih işlemenin çok kötü olduğuna inanamıyorum! .NET'te Date'in 2002'de bellekten 1. sürümde olması utanç verici. DateTime.Now veya DateTime.Now.Month çok daha kolay!
csmith

1
O günün Pzt, Sal veya Çar olduğunu nasıl anlarsınız?
Joseph Astrahan

1
Hızlı bir şekilde tarihlerle etkileşim kurmanın çok daha kolay bir yolunu istiyorsanız SwiftDate Cocoapod'a göz atın.
Rob Norback

1
@csmith Bunun nedeni, hala eski NSDate ancak Swift sözdizimine sahip olmasıdır. Yeniden yazılmadı. Yine de haklısın, çalışmak biraz acı verici.
bandejapaisa
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.