0Pricing
Swift Academy · Pelajaran

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

  1. Tipe Date dan Interval Waktu
  2. Calendar dan DateComponents
  3. Memformat Tanggal
  4. Zona Waktu dan Lokal
← Kembali ke Swift Academy