Jenis Data Tanggal (Visual Basic)

Menampung nilai IEEE 64-bit (8-byte) yang mewakili tanggal mulai dari 1 Januari tahun 0001 hingga 31 Desember tahun 9999, dan waktu dari 12:00:00 AM (tengah malam) hingga 11:59:59.9999999 PM. Setiap kenaikan mewakili 100 nanodetik waktu yang telah berlalu sejak awal 1 Januari tahun 1 dalam kalender Gregorian. Nilai maksimum mewakili 100 nanodetik sebelum awal 1 Januari tahun 10000.

Keterangan

Gunakan jenis data Date untuk menampung nilai tanggal, nilai waktu, atau nilai tanggal dan waktu.

Nilai default Date adalah 0:00:00 (tengah malam) pada 1 Januari 0001.

Anda bisa mendapatkan tanggal dan waktu saat ini dari kelas DateAndTime.

Persyaratan Format

Anda harus mengapit literal Date dalam tanda angka (# #). Anda harus menentukan nilai tanggal dalam format M/d/yyyy, misalnya #5/31/1993#, atau yyyy-MM-dd, misalnya #1993-5-31#. Anda dapat menggunakan garis miring saat menentukan tahun terlebih dahulu. Persyaratan ini tidak tergantung pada lokasi Anda dan pengaturan format tanggal dan waktu komputer Anda.

Alasan untuk pembatasan ini adalah bahwa arti kode Anda tidak boleh berubah tergantung pada lokal di mana aplikasi Anda berjalan. Misalkan Anda hard-code harfiah Date dari #3/4/1998# dan bermaksud 4 Maret 1998. Di lokasi yang menggunakan mm/dd /yyyy, 3/4/1998 mengkompilasi sesuai maksud Anda. Tetapi misalkan Anda menerapkan aplikasi Anda di banyak negara/wilayah. Dalam lokal yang menggunakan dd/mm/yyyy, literal kode keras Anda akan dikompilasi menjadi 3 April 1998. Dalam lokal yang menggunakan yyyy/mm/dd, literal akan tidak valid (April 1998, 0003) dan menyebabkan kesalahan kompiler.

Penyelesaian masalah

Untuk mengonversi literal Date ke format lokal Anda, atau ke format kustom, berikan literal ke fungsi Format, menentukan format tanggal yang telah ditentukan sebelumnya atau ditentukan pengguna. Contoh berikut menunjukkan hal berikut.

MsgBox("The formatted date is " & Format(#5/31/1993#, "dddd, d MMM yyyy"))

Atau, Anda dapat menggunakan salah satu konstruktor dari struktur DateTime yang kelebihan beban untuk merakit nilai tanggal dan waktu. Contoh berikut menciptakan nilai untuk mewakili 31 Mei 1993 pukul 12:14 sore.

Dim dateInMay As New System.DateTime(1993, 5, 31, 12, 14, 0)

Format Jam

Anda dapat menentukan nilai waktu dalam format 12 jam atau 24 jam, misalnya #1:15:30 PM# atau #13:15:30#. Namun, jika Anda tidak menentukan menit atau detik, Anda harus menentukan AM atau PM.

Default Tanggal dan Waktu

Jika Anda tidak menyertakan tanggal dalam literal tanggal/waktu, Visual Basic menetapkan bagian tanggal nilai menjadi 1 Januari 0001. Jika Anda tidak menyertakan waktu dalam literal tanggal/waktu, Visual Basic menetapkan bagian waktu dari nilai ke awal hari, yaitu tengah malam (0:00:00).

Konversi Jenis

Jika Anda mengonversi nilai Date ke jenis String, Visual Basic merender tanggal sesuai dengan format tanggal pendek yang ditentukan oleh lokal run-time, dan merender waktu sesuai dengan format waktu (baik 12 jam atau 24 jam) yang ditentukan oleh lokal run-time.

Tips Pemrograman

  • Pertimbangan Interop. Jika Anda berinteraksi dengan komponen yang tidak ditulis untuk .NET Framework, misalnya objek Automasi atau COM, perlu diingat bahwa jenis tanggal/waktu di lingkungan lain tidak kompatibel dengan Visual Basic jenis Date. Jika Anda meneruskan argumen tanggal/waktu ke komponen tersebut, nyatakan sebagai Double bukan Date dalam kode Visual Basic baru Anda, dan gunakan metode konversi DateTime.FromOADate dan DateTime.ToOADate.

  • Ketik Karakter. Date tidak memiliki karakter jenis harfiah atau karakter jenis pengidentifikasi. Namun, kompiler memperlakukan literal yang diapit dalam tanda-tanda angka (# #) sebagai Date.

  • Jenis Kerangka. Jenis yang sesuai dalam .NET Framework adalah struktur System.DateTime.

Contoh

Variabel atau konstanta jenis data Date menyimpan baik tanggal maupun waktu. Contoh berikut mengilustrasikan langkah-langkah ini:

Dim someDateAndTime As Date = #8/13/2002 12:14 PM#

Lihat juga