2015-02-09 11 views
8

Jak mogę uzyskać lokalny czas daty w szybkim tempie?Swift - Uzyskaj lokalny czas na datę

Mój kod

let last_login = String(NSDate.date()) 

Proszę o poradę. Dziękuję Ci.

+1

Znalazłem fantastyczną stronę, która pomoże ci znaleźć ciąg znaków twojego formatu: http://nsdateformatter.com/ – Eric

Odpowiedz

4

ja już znalazłem odpowiedź.

let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "MM-dd-yyyy HH:mm" 
let dateInFormat = dateFormatter.stringFromDate(NSDate()) 
+2

Jak uzyskać obiekt Date, a nie ciąg –

3

użycie NSDateFormatter, albo przez ustawienie formatu

let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "hh:mm" 
println(dateFormatter.stringFromDate(NSDate())) 

lub style

dateFormatter.dateStyle = .NoStyle 
dateFormatter.timeStyle = .MediumStyle 
1

Musisz użyć NSDateFormatter

let dateFormatter = NSDateFormatter() 
dateFormatter.dateFormat = "MMMM dd, yyyy HH:mm" 
dateFormatter.locale = "en" // Change "en" to change the default locale if you want 
let stringDate = dateFormatter.stringFromDate(date) 
23

zmiana: Xcode 8.2.1 • Swift 3.0 .2

Można również skorzystać z opisem metody data (z: Locale), aby uzyskać miejscowe opis czasową użytkownika:

znaków reprezentujący datę, stosując dane lokum lub jeśli locale argument jest zerowa, w formacie międzynarodowym RRRR-MM-DD HH: MM: SS ± HHMM, gdzie ± HHMM oznacza przesunięcie strefy czasowej w godzinach i minut od UTC (na przykład "2001-03-24 10:45:32 +0600 ").

descriptionWithLocale

Date().description(with: .current) // "Monday, February 9, 2015 at 05:47:51 Brasilia Summer Time" 
+1

Ty rządzisz. Dlaczego nie wszyscy to robią? – ScottyBlades

2
let expiryDate: Date = ... 
let localizedDateString = DateFormatter.localizedString(from: expiryDate, dateStyle: .medium, timeStyle: .short) 

"10 września 2017, 14:37" odpowiedź

0

Leo jest bardzo dobry. Chciałem tylko dodać sposób na wykorzystanie go jako własności obliczeniowej.

var currentTime: String { 
    get { 
     return Date().description(with: Locale.current) 
    } 
    } 

Używaj go tak:

print(currentTime) 
1

Aby uzyskać aktualną datę i czas

let currentDate = Date() 
print(currentDate) //this will return current date and time 

ale będzie data typu na datę przekształcić w ciąg

let dateFormatter = DateFormatter() 
dateFormatter.dateFormat = "dd-MM-yyyy HH:mm" //give the formate according to your need 
let dateStr = dateFormatter.string(from: currentDate) //which will give the string of current date and time in required dateformate 
+0

dateFormatter.dateFormate? dd-MM-rrr HH: mm? –

+0

Dziękuję za odpowiedź zaktualizowaną –

Powiązane problemy