Dalam bidang pengembangan aplikasi seluler, penanganan tanggal dan waktu secara efisien merupakan aspek penting yang dapat berdampak signifikan terhadap pengalaman pengguna. Dari menjadwalkan acara dan mengatur pengingat hingga menampilkan tanggal dan waktu lokal, kemampuan untuk mengelola operasi DateTime secara akurat dan intuitif sangatlah penting. Sebagai pengembang Flutter, memahami cara bekerja dengan tanggal dan waktu di Flutter, serta memanfaatkan intl paket canggihnya, dapat meningkatkan fungsionalitas aplikasi dan keterlibatan pengguna secara signifikan.
Artikel ini akan mempelajari seluk-beluk DateTime di Flutter, memandu Anda melalui bidang-bidang utama berikut:
- Memahami DateTime di Flutter: Pelajari dasar-dasar kelas DateTime, termasuk membuat instance dan menjelajahi metode dan properti umum.
- Membuat Instans DateTime: Temukan cara membuat DateTime objek menggunakan berbagai konstruktor dan metode.
- Memanipulasi Objek DateTime: Memahami cara menambah, mengurangi, dan membandingkan tanggal dan waktu, serta menghitung perbedaan di antara keduanya.
- Memformat Tanggal dan Waktu: Pelajari intl paket untuk memformat dan melokalkan tanggal dan waktu.
- Mengurai Tanggal dan Waktu: Pelajari cara mengurai string menjadi DateTime objek dan menangani berbagai format tanggal dan waktu.
- Bekerja dengan Zona Waktu: Jelajahi cara mengelola zona waktu di aplikasi Flutter Anda.
Memahami DateTime di Flutter
Pengantar DateTime Kelas
Kelas DateTime di Flutter adalah elemen dasar untuk menangani tanggal dan waktu. Ini menyediakan berbagai fungsi untuk membuat, memanipulasi, dan memformat nilai tanggal dan waktu, sehingga sangat diperlukan untuk berbagai aplikasi, mulai dari penjadwalan acara sederhana hingga perhitungan berbasis waktu yang kompleks.
Membuat DateTime Instance
Membuat instance kelas DateTime sangatlah mudah dan dapat dilakukan dengan beberapa cara:
1. Dari Komponen Individual: Anda dapat membuat DateTime objek dengan menentukan tahun, bulan, hari, jam, menit, detik, dan milidetik.
2. Menggunakan DateTime.now(): Untuk mendapatkan tanggal dan waktu saat ini:
3. Menggunakan DateTime.utc():
Untuk membuat DateTime objek dalam Waktu Universal Terkoordinasi (UTC):
Metode dan Properti Umum
Kelas ini DateTime menawarkan berbagai metode dan properti untuk bekerja dengan nilai tanggal dan waktu:
Properti:
- year, month, day: Mengakses tahun, bulan, dan hari objek DateTime.
- hour, minute, second, milisecond: Mengakses komponen waktu masing-masing.
- weekday: Dapatkan hari dalam seminggu, dimana Senin adalah 1 dan Minggu adalah 7.
Metode:
add(Duration) : Menambahkan durasi tertentu ke DateTime objek.
(Duration) Mengurangi durasi tertentu dari DateTime objek.
isBefore(DateTime): Memeriksa apakah DateTime objek tersebut berada sebelum DateTime objek lain.
isAfter(DateTime): Memeriksa apakah DateTime objek tersebut mengejar DateTime objek lain.
difference(DateTime): Menghitung perbedaan antara dua DateTime benda.
Tanggal Parsing dan Pemformatan
Mengurai dan memformat tanggal sangat penting untuk menampilkan dan memproses nilai tanggal dan waktu dalam format yang mudah digunakan. Paket intl di Flutter menyederhanakan tugas-tugas berikut:
- Mengurai String ke DateTime:
Anda dapat mengurai string tanggal menjadi DateTime objek menggunakan DateFormat kelas dari intl paket.
- Memformat DateTime ke String:
Anda dapat memformat DateTime objek ke dalam format string yang dapat dibaca.
Ini mengubah tanggal saat ini menjadi string seperti “4 Juni 2023”.
Memahami DateTime kelas dan kemampuannya sangat penting untuk mengelola tanggal dan waktu secara efektif di aplikasi Flutter Anda. Dengan dasar-dasar ini, Anda dapat beralih ke topik lebih lanjut, seperti memanipulasi tanggal dan waktu dan mengintegrasikan dukungan pelokalan menggunakan paket intl.
Membuat Instans DateTime
Menangani tanggal dan waktu secara efisien sangat penting untuk berbagai aplikasi, mulai dari pengingat sederhana hingga sistem penjadwalan yang rumit. Kelas Flutter DateTime menyediakan beberapa cara untuk membuat dan bekerja dengan instance tanggal dan waktu.
Menggunakan DateTime Konstruktor
Konstruktor DateTime adalah cara paling mudah untuk membuat instance tanggal dan waktu. Anda dapat menginisialisasi DateTime objek dengan meneruskan komponen individual seperti tahun, bulan, hari, jam, menit, detik, dan milidetik.
Contoh Membuat DateTime Objek
Dari Komponen Individual: Anda dapat membuat DateTime objek dengan menentukan komponen yang Anda perlukan. Berikut contoh cara membuat DateTime objek untuk tanggal 4 Juni 2023 pukul 14.30:
Metode ini sangat berguna ketika Anda perlu merepresentasikan tanggal dan waktu tertentu.
2. Menggunakan DateTime.now() untuk Mendapatkan Tanggal dan Waktu Saat Ini:
Jika Anda memerlukan tanggal dan waktu saat ini, Anda dapat menggunakan DateTime.now() metode:
Ini mengembalikan tanggal dan waktu saat ini sesuai dengan jam sistem. Ini berguna untuk stempel waktu, pencatatan peristiwa, dan aplikasi waktu nyata.
3. Menggunakan DateTime.utc() Waktu UTC:
Untuk membuat DateTime objek dalam Waktu Universal Terkoordinasi (UTC), Anda dapat menggunakan DateTime.utc() konstruktor:
Hal ini sangat berguna untuk aplikasi yang perlu bekerja dengan standar waktu global, seperti menjadwalkan pertemuan di zona waktu yang berbeda.
Masing-masing metode ini memberikan fleksibilitas tergantung pada kebutuhan spesifik Anda. Berikut adalah beberapa contoh praktis yang menunjukkan cara menggunakan konstruktor ini:
Contoh 1: Tanggal dan Waktu Tertentu:
Contoh 2: Tanggal dan Waktu Saat Ini:
Contoh 3: Tanggal dan Waktu UTC:
Dengan memahami cara membuat DateTime instance menggunakan metode ini, Anda dapat menangani berbagai skenario tanggal dan waktu di aplikasi Flutter Anda secara efisien. Baik Anda perlu mencatat waktu saat ini, menjadwalkan acara untuk tanggal tertentu, atau bekerja dengan standar waktu global, DateTime kelas Flutter siap membantu Anda.
Memanipulasi Objek DateTime
Memanipulasi DateTime objek di Flutter sangat penting untuk melakukan operasi seperti menambah atau mengurangi interval waktu, membandingkan tanggal, dan menghitung perbedaan antar tanggal. Kemampuan ini sangat penting untuk aplikasi yang melibatkan penjadwalan, pengingat, dan penghitungan berbasis waktu.
Menambah dan Mengurangi Waktu
Untuk memodifikasi DateTime objek dengan menambah atau mengurangi waktu, Flutter menyediakan metode add dan subtract, keduanya menggunakan Duration kelas tersebut.
add(duration) metode
Metode ini add membuat objek baru DateTime dengan menambahkan durasi yang ditentukan ke DateTime instance yang ada.
subtract(duration) metode
Demikian pula, subtract metode ini membuat DateTime objek baru dengan mengurangi durasi yang ditentukan dari DateTime instance yang ada.
Membandingkan DateTime Objek
Membandingkan DateTime objek sangat penting untuk menentukan urutan kronologis kejadian. Flutter menyediakan beberapa operator perbandingan dan metode untuk memfasilitasi hal ini.
Menggunakan Operator Perbandingan
Kesetaraan ( ==) dan Ketimpangan ( !=):
Perbandingan Sebelum dan Sesudah:
isBefore(DateTime)
Metode:
isAfter(DateTime)
Metode:
Menghitung Selisih Antar Tanggal
Untuk menghitung durasi antara dua DateTime
objek, gunakan difference
metode ini. Metode ini mengembalikan Duration
objek yang mewakili perbedaan waktu.
Metode ini difference
berguna untuk skenario ketika Anda perlu mengukur interval waktu, seperti hitungan mundur atau penghitungan usia.
Memformat Tanggal dan Waktu
Memformat tanggal dan waktu dengan benar sangat penting untuk menciptakan aplikasi yang ramah pengguna dan terlokalisasi. Paket Flutter intl
menyediakan alat canggih untuk memformat dan melokalkan DateTime
objek, memastikan aplikasi Anda memenuhi harapan pengguna dari berbagai wilayah dan budaya.
Pengantar intl
Paket
Paket ini intl
adalah perpustakaan serbaguna yang mendukung internasionalisasi dan lokalisasi, termasuk format tanggal dan waktu, format angka, dan terjemahan pesan.
Instalasi dan Pengaturan
Untuk menggunakan intl
paket dalam proyek Flutter Anda, Anda perlu menambahkannya ke pubspec.yaml
file Anda dan mengimpornya ke kode Dart Anda.
Tambahkan :intl
pubspec.yaml
Impor Paket:
Memformat DateTime
Objek MenggunakanDateFormat
Kelas DateFormat
dalam intl
paket menyediakan metode untuk memformat DateTime
objek menjadi representasi string yang dapat dibaca.
Pola Tanggal dan Waktu Umum
Kelas ini DateFormat
mendukung berbagai pola tanggal dan waktu, memungkinkan Anda menyesuaikan keluaran sesuai kebutuhan Anda. Berikut beberapa pola umum:
yyyy-MM-dd
: Memformat tanggal sebagai 04-06-2023.MMM d, y
: Memformat tanggal sebagai 4 Juni 2023.H:m
: Memformat waktu sebagai 14:30 (24 jam).h:mm a
: Memformat waktu sebagai 14:30 (12 jam dengan AM/PM).
Contoh Pemformatan Tanggal
Berikut adalah beberapa contoh yang menunjukkan cara memformat DateTime
objek menggunakan pola yang berbeda:
Melokalkan Tanggal dan Waktu
Melokalkan tanggal dan waktu melibatkan pemformatan sesuai dengan konvensi lokal yang berbeda. Paket ini intl
memudahkan pemformatan tanggal dan waktu dengan cara yang menghormati preferensi lokal.
Menggunakan DateFormat
dengan Lokal Berbeda
Untuk memformat tanggal dan waktu untuk lokal yang berbeda, Anda dapat menentukan kode lokal saat membuat DateFormat
instance. Kode lokal mengikuti format <language>_<COUNTRY>
, misalnya en_US
untuk bahasa Inggris Amerika atau fr_FR
untuk bahasa Prancis (Prancis).
Contoh Format Tanggal yang Dilokalkan
Berikut beberapa contoh yang menunjukkan cara memformat DateTime
objek untuk lokal berbeda:
Menggunakan intl
paket untuk memformat dan melokalkan tanggal dan waktu memastikan aplikasi Anda dapat melayani audiens global, menyajikan informasi dengan cara yang familier dan mudah diakses oleh pengguna dari berbagai wilayah.
Memformat dan melokalkan tanggal dan waktu dengan benar di Flutter sangat penting untuk membuat aplikasi yang sempurna dan ramah pengguna. Dengan memanfaatkan intl
paket ini, Anda dapat dengan mudah memformat DateTime
objek, mengakomodasi berbagai lokal, dan memastikan aplikasi Anda memenuhi beragam kebutuhan penggunanya. Di bagian selanjutnya, kita akan menjelajahi tanggal dan waktu penguraian, memungkinkan Anda mengonversi input pengguna atau data string menjadi DateTime
objek.
Mengurai Tanggal dan Waktu
Mengurai tanggal dan waktu dari string merupakan persyaratan umum, terutama ketika berhadapan dengan input pengguna atau data dari sumber eksternal. Paket intl
di Flutter menyediakan alat untuk mengurai string menjadi DateTime
objek secara efisien.
Mengurai String menjadi DateTime
Objek
MenggunakanDateFormat.parse()
Kelas DateFormat
dalam intl
paket menyediakan parse()
metode yang memungkinkan Anda mengubah string tanggal menjadi DateTime
objek. Ini berguna untuk menangani tanggal dalam berbagai format.
Menangani Berbagai Format String Tanggal dan Waktu
Aplikasi yang berbeda mungkin memerlukan format tanggal dan waktu yang berbeda. Inilah cara Anda menangani berbagai format:
Menangani String dan Kesalahan Tanggal yang Tidak Valid
Saat mengurai string tanggal, penting untuk menangani potensi kesalahan dengan baik. Jika string input tidak cocok dengan format yang diharapkan, a FormatException
akan dilempar. Anda dapat menangkap pengecualian ini untuk menangani string tanggal yang tidak valid:
Bekerja dengan Zona Waktu
Menangani zona waktu dengan benar sangat penting untuk aplikasi yang beroperasi di banyak wilayah. Flutter menyediakan berbagai cara untuk mengelola zona waktu, memastikan aplikasi Anda dapat menangani waktu global secara akurat.
Memahami Zona Waktu di Flutter
Di Flutter, DateTime
objek dapat mewakili waktu lokal atau waktu UTC. Secara default, DateTime
instance yang dibuat menggunakan konstruktor seperti DateTime.now()
berada dalam waktu lokal, sedangkan instance yang dibuat menggunakan DateTime.utc()
waktu UTC.
Mengonversi DateTime
Objek ke Zona Waktu Berbeda
Anda dapat mengonversi DateTime
objek ke zona waktu berbeda menggunakan metode toUtc()
and toLocal()
:
Menggunakan timezone
Paket
Untuk penanganan zona waktu lebih lanjut, timezone
paket ini menyediakan dukungan komprehensif untuk konversi zona waktu. Inilah cara Anda dapat menggunakannya:
Tambahkan :timezone
pubspec.yaml
Inisialisasi Data Zona Waktu:
Anda perlu memuat dan menginisialisasi data zona waktu sebelum menggunakannya. Hal ini dapat dilakukan pada awal aplikasi Anda.
Konversi Antar Zona Waktu:
Anda kemudian dapat mengonversi DateTime
objek antara zona waktu yang berbeda.
Dengan menggunakan paket intl
dan timezone
, Anda dapat menangani penguraian tanggal dan waktu, pemformatan, dan konversi zona waktu secara efisien, memastikan aplikasi Anda memberikan informasi tanggal dan waktu yang akurat dan terlokalisasi kepada penggunanya.
Dalam artikel ini, kami mempelajari aspek penting penanganan tanggal dan waktu di Flutter, termasuk:
- Memahami DateTime di Flutter: Kami mempelajari
DateTime
kelas, cara membuat instance, dan metode umum untuk memanipulasi nilai tanggal dan waktu. - Membuat Instans DateTime: Kita melihat berbagai cara untuk membuat
DateTime
objek, termasuk menggunakan konstruktor, tanggal dan waktu saat ini denganDateTime.now()
, dan waktu UTC denganDateTime.utc()
. - Memanipulasi Objek DateTime: Kita membahas penambahan dan pengurangan waktu, membandingkan
DateTime
objek, dan menghitung perbedaan antar tanggal. - Memformat Tanggal dan Waktu: Kami memperkenalkan
intl
paket, menunjukkan cara memformatDateTime
objek menggunakanDateFormat
, dan mendemonstrasikan lokalisasi tanggal dan waktu. - Mengurai Tanggal dan Waktu: Kami membahas penguraian string tanggal dan waktu menjadi
DateTime
objek menggunakanDateFormat.parse()
dan menangani kesalahan dengan baik. - Bekerja dengan Zona Waktu: Kami menjelaskan cara mengonversi
DateTime
objek antar zona waktu dan menggunakantimezone
paket untuk manajemen zona waktu lebih lanjut.
Menangani tanggal dan waktu dengan benar sangat penting untuk menciptakan aplikasi yang kuat dan ramah pengguna. Kelas DateTime
dan intl
paketnya menawarkan alat yang ampuh untuk mengelola aspek-aspek ini secara efektif.
Kami mendorong Anda untuk mengeksplorasi lebih jauh kemampuan kelas DateTime
dan intl
paket untuk menyempurnakan aplikasi Flutter Anda. Bereksperimenlah dengan berbagai format tanggal dan waktu, opsi pelokalan, dan konversi zona waktu untuk lebih memahami bagaimana alat ini dapat memenuhi kebutuhan spesifik Anda.
https://medium.com/@rishad2002/datetime-in-flutter-with-the-intl-package-4123eb926e4a