Ich muss zwei Termine in meiner App vergleichen und ich habe ein EST-Datum, um mit dem aktuellen Datum zu vergleichen, aber let today = NSDate()
gibt das Datum in UTC zurück, wie kann ich aktuelle EST-Zeit erhalten oder konvertieren EUROPÄISCHE SOMMERZEIT ?How to get Aktuelle EST Zeit IOS Swift
Antwort
Versuchen this-
import UIKit
let date = NSDate();
// "Apr 1, 2015, 8:53 AM" <-- local without seconds
var formatter = NSDateFormatter();
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss ZZZ";
let defaultTimeZoneStr = formatter.stringFromDate(date);
// "2015-04-01 08:52:00 -0400" <-- same date, local, but with seconds
formatter.timeZone = NSTimeZone(abbreviation: "UTC");
let utcTimeZoneStr = formatter.stringFromDate(date);
// "2015-04-01 12:52:00 +0000" <-- same date, now in UTC
Wenn Sie zwei Tage, zu vergleichen, dann können Sie die Methode unter
// Date comparision to compare current date and end date.
var dateComparisionResult:NSComparisonResult = NSDate().compare(endDate)
if dateComparisionResult == NSComparisonResult.OrderedAscending
{
// Current date is smaller than end date.
}
else if dateComparisionResult == NSComparisonResult.OrderedDescending
{
// Current date is greater than end date.
}
else if dateComparisionResult == NSComparisonResult.OrderedSame
{
// Current date and end date are same.
}
verwenden Wenn Sie verfügbar, um alle Zeitzonen Abkürzungen wissen wollen Sie können folgendes tun:
var timeZoneAbbreviationsType: [String:String] { return TimeZone.abbreviationDictionary }
timeZoneAbbreviationsType // ["CEST": "Europe/Paris", "WEST": "Europe/Lisbon", "CDT": "America/Chicago", "EET": "Europe/Istanbul", "BRST": "America/Sao_Paulo", "EEST": "Europe/Istanbul", "CET": "Europe/Paris", "MSD": "Europe/Moscow", "MST": "America/Denver", "KST": "Asia/Seoul", "PET": "America/Lima", "NZDT": "Pacific/Auckland", "CLT": "America/Santiago", "HST": "Pacific/Honolulu", "MDT": "America/Denver", "NZST": "Pacific/Auckland", "COT": "America/Bogota", "CST": "America/Chicago", "SGT": "Asia/Singapore", "CAT": "Africa/Harare", "BRT": "America/Sao_Paulo", "WET": "Europe/Lisbon", "IST": "Asia/Calcutta", "HKT": "Asia/Hong_Kong", "GST": "Asia/Dubai", "EDT": "America/New_York", "WIT": "Asia/Jakarta", "UTC": "UTC", "JST": "Asia/Tokyo", "IRST": "Asia/Tehran", "PHT": "Asia/Manila", "AKDT": "America/Juneau", "BST": "Europe/London", "PST": "America/Los_Angeles", "ART": "America/Argentina/Buenos_Aires", "PDT": "America/Los_Angeles", "WAT": "Africa/Lagos", "EST": "America/New_York", "BDT": "Asia/Dhaka", "CLST": "America/Santiago", "AKST": "America/Juneau", "ADT": "America/Halifax", "AST": "America/Halifax", "PKT": "Asia/Karachi", "GMT": "GMT", "ICT": "Asia/Bangkok", "MSK": "Europe/Moscow", "EAT": "Africa/Addis_Ababa"]
Ich muss beide Datum in ETC bekommen, wie kann ich? – Vishnu
Überprüfen Sie meine aktualisierte Antwort – iDeveloper
Die NSDate
speichern die Zeit in absoluten Moment, d. H. Egal in welcher Zeitzone Ihr Datum erstellt wurde, wenn Sie compare
Methode von NSDate
verwenden wird die Zeitzone berücksichtigt (weil Zeitzone nie gespeichert wurde). Sie können sich denken, NSDate
als Epochzeit, die immer von 00:00:00 Coordinated Universal Time (UTC), Donnerstag, 1. Januar 1970
berechnet wird Ich weiß nicht über die Implementierung von NSDate
kann es das Datum speichern in UTC
intern.
Es ist unsere Implementierung (NSDateFormatter
), die sein Format zu unserer Anforderung ändert.
Egal, ob Sie compare
oder NSCalendar
unabhängig verwenden, wie Sie Ihr Datum erstellt werden sie Ihnen
z.B. Meine lokale Zeitzone ist IST und es ist 2016-10-21 12:10:00 hier gerade
In EST es ist 2016-10-21 02:40:00,
In PST ist es 2016-10-20 23 : 40: 00 jetzt
dieser Code wird
let today = NSDate()
print("\(today)")
let formatter = DateFormatter()
formatter.dateFormat = "yyyy-MM-dd HH:mm:ss"
formatter.timeZone = TimeZone(abbreviation: "EST")
let estDate = formatter.date(from: "2016-10-21 02:40:00")
print("\(estDate!)")
formatter.timeZone = TimeZone(abbreviation: "PST")
let pstDate = formatter.date(from: "2016-10-20 23:40:00")
print("\(pstDate!)")
formatter.timeZone = TimeZone(abbreviation: "IST")
let istDate = formatter.date(from: "2016-10-21 12:10:00")
print("\(istDate!)")
So gleichzeitig drucken, weil es im selben Moment überall ist
2016-10-21 06:40:00 +0000
2016-10-21 06:40:00 +0000
2016-10-21 06:40:00 +0000
2016-10-21 06:40:00 +0000
- 1. How to express aktuelle Zeit in Worten
- 2. How to audioplayer in swift?
- 3. php EDT/EST Zeit
- 4. How to Nil ein Objekt in Swift
- 5. am nächsten Zeit aktuelle Zeit PHP Get
- 6. How to use OrderedMapIterator.previous()
- 7. konvertieren GMT Zeit zu EST
- 8. How to Display aktuelle Zeit, die dynamisch für jede Sekunde in Android ändert
- 9. How to - Callback-Funktionen
- 10. How to start Jailbreak Entwicklung
- 11. How to set pickerview horizantaly
- 12. pygame-How to Bildschirm verdunkeln
- 13. How To - Einfache Nhibernate Beitreten
- 14. How to \ n nach einer Menge von X Zeit
- 15. Facebook connect - How To
- 16. How-to: Ranking Suchergebnisse
- 17. How to truncate wp_rss
- 18. how to custom getRelativeTimeSpanString
- 19. How to us Firbase
- 20. ZF2 How to orWhere()
- 21. How to cancel HostingEnvironment.QueueBackgroundWorkItem
- 22. How to Get spezifisches Zeichen in String in PHP
- 23. How To Get List Reduzieren Arithmetischer Überlauf zu werfen
- 24. How to Get Array (holen) und Element in einer Zeile?
- 25. how to get Soundcloud Follower Anzahl mit JavaScript
- 26. How to Get DiscussionHistory für MultiUserChat Zimmer mit aSmack?
- 27. 2sxc: How-To Get "ContentType Felder"/Eingabe-Typ-spezifische/Eigenschaftswert
- 28. How To Stop Destroy Session
- 29. IOS Swift. Zeit seit Datum
- 30. Call Activity - Expression - How to
suchen Sie die Termine für den ganzen Weg bis zu der vergleichen Stunde oder siehst du aus um die Daten einfach mit dem Tag zu vergleichen? – Aaron
Können Sie Ihr EST-Datum anzeigen? Ist es im String-Format oder NSDate? –