Zona Waktu dan Lokal
Tangani perbedaan zona dan lokal dengan benar.
Zona Waktu dan Lokal adalah pelajaran Swift Academy gratis di CoddyKit. Ini adalah pelajaran 4 dari 4. Kamu bisa membaca pelajaran lengkapnya di bawah secara gratis — lalu praktikkan langsung di browser dengan editor kode bawaan dan tutor AI 24/7. Ini adalah bagian dari jalur belajar Swift Academy, dan progresmu tersinkronisasi di web dan aplikasi CoddyKit. Kursus Swift Academy mencakup 4 pelajaran total.
Zona Waktu dan Lokalitas
Waktu Date yang sama dapat ditampilkan secara berbeda di berbagai belahan dunia. TimeZone dan lokalitas menentukan cara waktu tersebut ditafsirkan dan ditampilkan.
Dasar-Dasar TimeZone
TimeZone mewakili selisih waktu dari UTC beserta aturan waktu musim panas. TimeZone.current adalah zona perangkat.
import Foundation
let tz = TimeZone.current
print("Identifier present: \(!tz.identifier.isEmpty)")Membuat Zona Tertentu
Buat zona bernama dengan TimeZone(identifier:), misalnya "America/New_York" atau "Europe/Istanbul".
import Foundation
if let tokyo = TimeZone(identifier: "Asia/Tokyo") {
print("Tokyo offset seconds: \(tokyo.secondsFromGMT())")
}Selisih dari GMT
secondsFromGMT(for:) memberikan selisih waktu saat ini, yang dapat berubah sepanjang tahun karena waktu musim panas.
import Foundation
let utc = TimeZone(identifier: "UTC")!
print("UTC offset is zero: \(utc.secondsFromGMT() == 0)")Zona Memengaruhi Kalender
Atur timeZone pada kalender agar perhitungan hari dan jam menggunakan wilayah tersebut, bukan bawaan perangkat.
import Foundation
var cal = Calendar.current
cal.timeZone = TimeZone(identifier: "UTC")!
let hour = cal.component(.hour, from: Date())
print("Hour in UTC between 0 and 23: \(0...23 ~= hour)")Zona dalam Pemformatan
Date.FormatStyle dapat membawa zona waktu tertentu sehingga keluaran mencerminkan wilayah tersebut, terlepas dari pengaturan perangkat.
import Foundation
let style = Date.FormatStyle(date: .omitted, time: .shortened)
.timeZone(TimeZone(identifier: "UTC")!)
let s = Date().formatted(style)
print(!s.isEmpty)Dasar-Dasar Lokalitas
Lokalitas mencakup bahasa dan konvensi wilayah: nama bulan, hari pertama dalam minggu, serta urutan angka dan tanggal.
import Foundation
let locale = Locale.current
print("Has identifier: \(!locale.identifier.isEmpty)")Membuat Lokalitas
Buat lokalitas tertentu dengan Locale(identifier:), seperti "fr_FR" atau "tr_TR".
import Foundation
let french = Locale(identifier: "fr_FR")
print("French locale id: \(french.identifier)")Lokalitas Mengubah Keluaran
Menerapkan lokalitas ke gaya format akan mengubah nama dan urutan bulan. Tanggal yang sama dibaca secara berbeda dalam setiap bahasa.
import Foundation
let now = Date()
let style = Date.FormatStyle(date: .long, time: .omitted)
.locale(Locale(identifier: "en_US"))
print(!now.formatted(style).isEmpty)Lokalitas dan Kalender Bersama
Lokalitas juga memengaruhi hari pertama dalam minggu dan penomoran minggu pada kalender. Gabungkan zona, lokalitas, dan kalender untuk mendapatkan hasil yang sepenuhnya benar.
import Foundation
var cal = Calendar(identifier: .gregorian)
cal.locale = Locale(identifier: "en_US")
print("First weekday: \(cal.firstWeekday)")Menyimpan dalam UTC, Menampilkan secara Lokal
Praktik terbaik: simpan dan kirim tanggal dalam UTC, lalu konversikan ke zona dan lokalitas pengguna hanya saat ditampilkan.
import Foundation
let instant = Date()
let utcStyle = Date.FormatStyle(date: .numeric, time: .standard)
.timeZone(TimeZone(identifier: "UTC")!)
print("UTC display ready: \(!instant.formatted(utcStyle).isEmpty)")Pemeriksaan Singkat
Apa cara yang disarankan untuk menangani tanggal di berbagai wilayah?
Ringkasan
TimeZone menetapkan selisih waktu UTC dan aturan DST, sedangkan lokalitas mengatur bahasa serta pemformatan wilayah. Keduanya dapat diterapkan pada kalender dan gaya format. Simpan tanggal dalam UTC dan konversikan ke zona serta lokalitas setempat hanya saat menampilkannya. Dengan demikian, kursus tentang tanggal dan kalender selesai.
Pertanyaan yang Sering Diajukan
Apakah pelajaran “Zona Waktu dan Lokal” gratis?
Ya — teks lengkap “Zona Waktu dan Lokal” gratis dibaca di sini di web. Untuk praktiknya secara interaktif (editor kode bawaan dan tutor AI 24/7) dan buka sisa kursus Swift Academy, upgrade ke CoddyKit PRO. Kursus Swift Academy mencakup 4 pelajaran total.
Apa yang akan aku pelajari di “Zona Waktu dan Lokal”?
Tangani perbedaan zona dan lokal dengan benar. Kamu berlatih Swift Academy dengan kode praktik yang langsung kamu jalankan di browser, dan tutor AI 24/7 menjawab pertanyaanmu saat kamu mengerjakan pelajaran ini.
Apakah aku perlu pengalaman untuk memulai Swift Academy?
Tidak diperlukan pengalaman sebelumnya. Swift Academy di CoddyKit dirancang untuk pemula hingga pelajar tingkat lanjut, jadi kamu bisa memulai di sini atau dari awal dan belajar sesuai kecepatan kamu sendiri. Ini adalah pelajaran 4 dari 4.
Berapa lama pelajaran “Zona Waktu dan Lokal” memakan waktu?
Sebagian besar pelajaran CoddyKit memakan waktu sekitar 5–10 menit. Setiap pelajaran ringkas dan interaktif, jadi kamu membuat kemajuan stabil dan melanjutkan dari tempat kamu tinggalkan di web dan aplikasi.
Bisakah aku menulis dan menjalankan kode dalam pelajaran Swift Academy ini?
Ya. Setiap pelajaran Swift Academy menyertakan editor kode bawaan, jadi kamu menulis dan menjalankan kode nyata langsung di browser dan mendapatkan umpan balik AI instan — tidak diperlukan penyiapan lokal.
Semua pelajaran dalam kursus ini
- Tipe Date dan Interval Waktu
- Calendar dan DateComponents
- Memformat Tanggal
- Zona Waktu dan Lokal