Adakah java.sql.Timestamp Timezone Spesifik?
Latar Belakang:
JDBC's setTimestamp( int parameterIndex, Timestamp x) kaedah memberikan cap masa kepada lajur pangkalan data tanpa menyatakan secara eksplisit zon waktu. Ini menimbulkan persoalan: Adakah Timestamp membawa maklumat zon waktu?
Jawapan:
Tidak, java.sql.Timestamp sememangnya tidak membawa maklumat zon waktu.
Penjelasan:
Apabila memanggil setTimestamp(...), pemacu JDBC bergantung pada zon waktu mesin maya yang menjalankan aplikasi untuk menentukan tarikh dan masa untuk disimpan. Ini bermakna nilai yang disimpan tidak mengekalkan maklumat zon waktu.
Contoh:
Pertimbangkan senario berikut:
Dalam kes ini, pemandu akan menukar masa UTC kepada IST (berdasarkan zon waktu mesin maya) dan simpannya sebagai "20121225 12:00:00" dalam pangkalan data.
Menyimpan Cap Masa dalam Zon Waktu Tertentu:
Untuk menyimpan cap masa dalam zon waktu tertentu, gunakan kaedah setTimestamp(int parameterIndex, Timestamp x, Kalendar cal). Tentukan objek Kalendar dengan zon waktu yang diingini untuk memastikan cap masa disimpan dengan sewajarnya.
Pertimbangan Tambahan:
Atas ialah kandungan terperinci Adakah `java.sql.Timestamp` Menyimpan Maklumat Zon Masa?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!