Bagikan melalui


Mengambil Informasi Waktu dan Tanggal

Topik ini mencakup instruksi untuk menggunakan fungsi NLS di aplikasi Anda untuk mengambil informasi waktu dan tanggal , serta data durasi. Jika aplikasi Anda harus menyimpan data, lihat Menggunakan Data Lokal Persisten.

Windows Vista dan yang lebih baru: Fungsi yang dibahas dalam topik ini dapat mengambil data dari lokal kustom. Secara khusus, mereka dapat digunakan untuk menyesuaikan format waktu dan tanggal. Misalnya, dimungkinkan untuk memiliki format waktu seperti "hhHmm'ss'", menghasilkan string waktu seperti "12H34'12''".

Mengambil Informasi Waktu

Aplikasi Anda bisa mendapatkan string kapan saja dalam format yang sesuai untuk lokal saat ini dengan menggunakan fungsi GetTimeFormat dan GetTimeFormatEx . Salah satu fungsi memeriksa setiap nilai waktu dalam struktur SYSTEMTIME yang valid untuk menentukan bahwa fungsi tersebut berada dalam rentang nilai yang sesuai, mengabaikan bagian tanggal struktur. Jika salah satu nilai waktu berada di luar rentang yang benar, fungsi gagal dengan kode ERROR_INVALID_PARAMETER. Fungsi ini tidak mengembalikan kesalahan untuk string format yang buruk, tetapi hanya membentuk string waktu terbaik.

Catatan

Fungsi waktu NLS tidak menyertakan milidetik sebagai bagian dari string waktu yang diformat.

 

Untuk mendapatkan format waktu tanpa melakukan pemformatan aktual, aplikasi dapat menggunakan fungsi GetLocaleInfo atau GetLocaleInfoEx , menentukan konstanta LOCALE_STIMEFORMAT dalam panggilan.

Gunakan Penanda Waktu

Contoh penanda waktu adalah "AM" dan "PM" untuk bahasa Inggris (Amerika Serikat) dan "de." dan "du." untuk Bahasa Spanyol (Meksiko). Jika TIME_NOTIMEMARKER ditentukan dalam panggilan ke GetTimeFormat atau GetTimeFormatEx, fungsi akan menghapus pemisah sebelumnya dan mengikuti penanda waktu. Jika penanda waktu ada dan bendera TIME_NOTIMEMARKER tidak diatur dalam panggilan, fungsi melokalisasi penanda waktu berdasarkan pengidentifikasi lokal yang ditentukan.

Hapus Pemisah Menit dan Detik Sebelumnya

Aplikasi Anda dapat memanggil GetTimeFormat atau GetTimeFormatEx dengan TIME_NOMINUTESORSECONDS atau TIME_NOSECONDS yang ditentukan untuk menghapus pemisah setelah elemen menit dan/atau detik.

Gunakan Format Waktu 24 Jam

Jika aplikasi Anda mendukung format waktu 24 jam, aplikasi dapat memanggil GetTimeFormat atau GetTimeFormatEx dengan TIME_FORCE24HOURFORMAT. Kecuali bendera TIME_NOTIMEMARKER diatur, fungsi menampilkan penanda waktu yang ada.

Ambil Informasi Tanggal

Aplikasi dapat mengambil string untuk tanggal apa pun dalam format yang sesuai untuk lokal saat ini dengan menggunakan fungsi GetDateFormat dan GetDateFormatEx . Salah satu fungsi memeriksa setiap nilai tanggal tahun, bulan, hari, dan hari dalam minggu dalam struktur SYSTEMTIME yang valid, mengabaikan bagian waktu struktur. Nama hari, nama hari yang disingkat, nama bulan, dan nama bulan yang disingkat semuanya dilokalkan berdasarkan pengidentifikasi lokal. Jika hari dalam seminggu salah, fungsi menggunakan nilai yang benar, dan tidak mengembalikan kesalahan. Jika salah satu nilai tanggal lainnya berada di luar rentang yang benar, fungsi gagal dengan kode ERROR_INVALID_PARAMETER. Fungsi ini tidak mengembalikan kesalahan untuk string format yang buruk, tetapi hanya membentuk string tanggal terbaik.

Jika aplikasi memerlukan format tanggal untuk kalender tertentu, aplikasi harus menggunakan GetCalendarInfo atau GetCalendarInfoEx, melewati Pengidentifikasi Kalender yang sesuai. Untuk mengembalikan semua format tanggal untuk kalender tertentu, aplikasi dapat menggunakan EnumCalendarInfoEx, EnumCalendarInfoExEx, EnumDateFormatsEx, atau EnumDateFormatsExEx.

Tentukan Kalender Alternatif

Aplikasi dapat memanggil GetDateFormat atau GetDateFormatEx dengan bendera DATE_USE_ALT_CALENDAR untuk menggunakan format default untuk kalender alternatif yang ditentukan. Jika tidak ada format default untuk kalender alternatif, fungsi menggunakan penimpaan pengguna.

Untuk mendapatkan format tanggal untuk kalender alternatif, aplikasi dapat menggunakan GetLocaleInfo atau GetLocaleInfoEx dengan konstanta LOCALE_IOPTIONALCALENDAR .

Tentukan Tipe Tanggal

Jika aplikasi ingin menggunakan format tanggal pendek, aplikasi menentukan DATE_SHORTDATE dalam panggilan ke GetDateFormat atau GetDateFormatEx. Format tanggal panjang dapat diperoleh dengan menentukan DATE_LONGDATE dalam panggilan fungsi. Jika tidak ada bendera yang ditentukan, dan lpFormat diatur ke NULL, fungsi menggunakan DATE_SHORTDATE sebagai default.

Untuk mendapatkan format tanggal pendek dan panjang untuk kalender lokal default, aplikasi harus menggunakan fungsi GetLocaleInfo atau GetLocaleInfoEx dengan konstanta LOCALE_SSHORTDATE atau LOCALE_SLONGDATE .

Tentukan Gambar Format Tanggal

Aplikasi dapat menentukan gambar format tanggal yang digunakan GetDateFormat atau GetDateFormatEx untuk membentuk string tanggal. Jika format tanggal untuk lokal yang ditentukan diperlukan, aplikasi dapat memanggil fungsi dengan lpFormat diatur ke NULL. Jika parameter tidak diatur ke NULL, fungsi hanya menggunakan lokal untuk informasi yang tidak ditentukan dalam format string gambar, misalnya, nama hari dan bulan untuk lokal.

Aplikasi dapat mengapit teks apa pun yang harus tetap dalam bentuk yang tepat dalam tanda kutip tunggal. Tanda kutip tunggal juga dapat digunakan sebagai karakter escape untuk memungkinkan tanda itu sendiri ditampilkan dalam string tanggal. Namun, urutan escape harus diapit dalam dua tanda kutip tunggal. Misalnya, untuk menampilkan tanggal sebagai "Mei '93", string formatnya adalah: "MMMM ''''yy ".

Mengambil Informasi Durasi

Windows Vista dan yang lebih baru: Fungsi GetDurationFormat dan GetDurationFormatEx tersedia untuk mendapatkan format durasi untuk lokal, termasuk lokal kustom. Untuk mendapatkan format durasi default untuk lokal, aplikasi harus menggunakan fungsi GetLocaleInfo atau GetLocaleInfoEx dengan konstanta LOCALE_SDURATION .

Menggunakan Dukungan Bahasa Nasional

Waktu dan Tanggal

Menggunakan Data Lokal Persisten