ຄໍານິຍາມຂອງເວລາ UNIX ແມ່ນເຂດເວລາເອກະລາດ. ເວລາ UNIX ແມ່ນຕົວເລກຂອງວິນາທີ (ຫຼື milliseconds) ທີ່ຜ່ານໄປນັບຕັ້ງແຕ່ຈຸດຢ່າງແທ້ຈິງໃນເວລາ, ເວລາທ່ຽງຄືນຂອງວັນທີ 1 ມັງກອນ 1970 ໃນເວລາ UTC. (UTC ແມ່ນ Greenwich Mean Time ໂດຍບໍ່ມີການປັບເວລາປະຢັດແສງກາງເວັນ.)
ເວລາ UNIX ແມ່ນ UTC ສະເໝີບໍ?
ເວລາ Unix ແມ່ນອີງໃສ່ UTC ສະເໝີ (ຖ້າບໍ່ດັ່ງນັ້ນເອີ້ນວ່າ GMT). ມັນບໍ່ມີເຫດຜົນທີ່ຈະຄິດເຖິງເວລາຂອງ Unix ວ່າຢູ່ໃນເຂດເວລາໃດນຶ່ງ. ການສະແຕມເວລາ Unix ບໍ່ໄດ້ກວມເອົາວິນາທີທີ່ກ້າວກະໂດດ. … ຕາມປະເພນີ, ເວລາຂອງ Unix ຖືກກຳນົດເປັນວິນາທີທັງໝົດ.
ພວກເຮົາສາມາດເອົາເຂດເວລາຈາກການສະແຕມເວລາໄດ້ບໍ?
ທ່ານບໍ່ສາມາດ "ໄດ້ຮັບ TimeZone ID ຈາກ TimeStamp ທີ່ແນ່ນອນ", ເປັນໄປບໍ່ໄດ້. ການນັບຈາກຍຸກຂອງທ່ານຖືກສ້າງຂື້ນໃນຂະນະທີ່ບັນຊີສໍາລັບເຂດເວລາທີ່ແນ່ນອນ, ໂດຍປົກກະຕິແລ້ວ UTC. ຖ້າຕ້ອງຮູ້ວ່າເຂດທີ່ຕັ້ງໃຈໃຊ້ໃນການສ້າງການນັບຈາກຍຸກນັ້ນ, ມັນບໍ່ສາມາດຫັກອອກໄດ້.
Epoch ປະກອບມີເຂດເວລາບໍ?
ກັບຄືນໄປຫາຄໍາຖາມ, ເວລາ Epoch ບໍ່ມີເຂດເວລາທາງເທັກນິກ. ມັນແມ່ນອີງໃສ່ຈຸດໃດຫນຶ່ງໃນເວລາ, ເຊິ່ງເກີດຂຶ້ນກັບ "ແມ້ກະທັ້ງ" ເວລາ UTC (ໃນຕອນຕົ້ນຂອງປີແລະທົດສະວັດ, ແລະອື່ນໆ).
Unix epoch ເປັນ UTC ບໍ?
ຍຸກ Unix ແມ່ນ the time 00:00:00 UTC ວັນທີ 1 ມັງກອນ 1970. ມີບັນຫາກັບຄໍານິຍາມນີ້, ໃນທີ່ UTC ບໍ່ມີຢູ່ໃນຮູບແບບປະຈຸບັນຂອງຕົນຈົນກ່ວາ 1972; ບັນຫານີ້ໄດ້ຖືກປຶກສາຫາລືຂ້າງລຸ່ມນີ້. ສໍາລັບຄວາມສົດຊື່ນ, ສ່ວນທີ່ຍັງເຫຼືອຂອງພາກນີ້ໃຊ້ ISO 8601 ຮູບແບບວັນທີ ແລະເວລາ, ເຊິ່ງໃນ Unix epoch ແມ່ນ 1970-01-01T00:00:00Z.
ຮູບແບບການສະແຕມແມ່ນຫຍັງ?
ການແຍກສະແຕມເວລາອັດຕະໂນມັດ
ຮູບແບບເວລາ | ຍົກຕົວຢ່າງ |
---|---|
yyyy-MM-dd*HH:mm:ss | 2017-07-04*13:23:55 |
yy-MM-dd HH:mm:ss,SSS ZZZZ | 11-02-11 16:47:35,985 +0000 |
yy-MM-dd HH:mm:ss,SSS | 10-06-26 02:31:29,573 |
yy-MM-dd HH:mm:ss | 10-04-19 12:00:17 |
ຂ້ອຍຈະໄດ້ສະແຕມເວລາ Unix ໃນປັດຈຸບັນໄດ້ແນວໃດ?
ເພື່ອຊອກຫາການສະແຕມເວລາປະຈຸບັນຂອງ unix ທາງເລືອກ %s ໃນຄໍາສັ່ງວັນທີ. ຕົວເລືອກ %s ຄິດໄລ່ເວລາ unix ໂດຍການຊອກຫາຈໍານວນວິນາທີລະຫວ່າງວັນທີປັດຈຸບັນແລະເວລາ unix.
ສະແຕມເວລາກັບເຂດເວລາແມ່ນຫຍັງ?
TIMESTAMP ກັບ TIME ZONE (ຫຼື TIMESTAMPTZ) ປະເພດຂໍ້ມູນ ເກັບຮັກສາຄ່າວັນທີ 8-byte ທີ່ປະກອບມີເວລາແລະຂໍ້ມູນເຂດເວລາໃນຮູບແບບ UTC. ທ່ານບໍ່ສາມາດກຳນົດຖັນ TIMESTAMPTZ ດ້ວຍຄວາມແມ່ນຍໍາສະເພາະຂອງເສດສ່ວນວິນາທີນອກເໜືອໄປຈາກ 6. … ເວລາຖືກປ່ຽນເປັນ UTC +1:00 (ການຊົດເຊີຍ 8 ຊົ່ວໂມງ).
ຂ້ອຍຈະເພີ່ມເວລາໃສ່ເຂດເວລາຂອງຂ້ອຍໄດ້ແນວໃດ?
ທ່ານອາດຈະລະບຸ ZoneId. systemDefault() ເພື່ອໃຊ້ການຕັ້ງຄ່າເຂດເວລາຂອງ JVM, ພຽງແຕ່ກະລຸນາຮັບຊາບວ່າອັນນີ້ອາດຈະຖືກປ່ຽນແປງໂດຍພາກສ່ວນອື່ນຂອງໂປຣແກຣມຂອງເຈົ້າ ຫຼືໂປຣແກຣມອື່ນທີ່ເຮັດວຽກຢູ່ໃນ JVM ດຽວກັນ. ລະບຸສະຖານທີ່ທີ່ຈະແຈ້ງ.
ແມ່ນເວລາ GMT ບໍ?
ຍຸກສະໄໝແມ່ນຫຍັງ? ຍຸກ Unix (ຫຼືເວລາ Unix ຫຼືເວລາ POSIX ຫຼືເວລາ Unix) ແມ່ນ ຈຳນວນວິນາທີທີ່ຜ່ານໄປຕັ້ງແຕ່ວັນທີ 1 ມັງກອນ 1970 (ເວລາທ່ຽງຄືນ UTC/GMT), ບໍ່ນັບວິນາທີ LEAP (ໃນ ISO 8601: 1970-01-01T00:00:00Z).
ເປັນຫຍັງວັນທີ 1 ມັງກອນ 1970 ຈຶ່ງເປັນສະໄໝ?
Unix ໄດ້ຖືກພັດທະນາໃນເບື້ອງຕົ້ນໃນ 60s ແລະ 70s ດັ່ງນັ້ນ "ເວລາເລີ່ມຕົ້ນ" ຂອງ Unix ໄດ້ຖືກກໍານົດເປັນວັນທີ 1 ມັງກອນ 1970 ໃນເວລາທ່ຽງຄືນ GMT (Greenwich Mean Time) - ວັນທີນີ້ /ເວລາຖືກກຳນົດຄ່າເວລາ Unix ຂອງ 0. ນີ້ແມ່ນສິ່ງທີ່ເອີ້ນວ່າ Unix Epoch.
ເວລາ epoch ຖືກຄິດໄລ່ແນວໃດ?
ຄູນຄວາມແຕກຕ່າງດ້ວຍ 86400 ເພື່ອໃຫ້ໄດ້ເວລາ Epoch ໃນວິນາທີ.
ເປັນຫຍັງປີ 2038 ຈຶ່ງເປັນບັນຫາ?
ບັນຫາໃນປີ 2038 ແມ່ນເກີດມາຈາກ ໂດຍໂປເຊດເຊີ 32-bit ແລະຂໍ້ຈໍາກັດຂອງລະບົບ 32-bit ທີ່ເຂົາເຈົ້າໃຊ້ພະລັງງານ. … ໂດຍພື້ນຖານແລ້ວ, ເມື່ອປີ 2038 ຮອດເວລາ 03:14:07 UTC ໃນວັນທີ 19 ມີນາ, ຄອມພິວເຕີຍັງໃຊ້ລະບົບ 32-bit ເພື່ອເກັບຮັກສາ ແລະປະມວນຜົນວັນທີ ແລະເວລາຈະບໍ່ສາມາດຮັບມືກັບການປ່ຽນແປງຂອງວັນທີ ແລະເວລາໄດ້.
ຮູບແບບເວລາ UTC ແມ່ນຫຍັງ?
ເວລາໃນຮູບແບບ UTC ເບິ່ງຄືວ່າ: 13:14:15Z. ຮູບແບບນັ້ນມີ 2 ຕົວເລກສຳລັບຊົ່ວໂມງ (13), ອີງຕາມໂມງ 24 ຊົ່ວໂມງ, ຕິດຕາມດ້ວຍສອງຕົວເລກສຳລັບນາທີ (14), ແລະສອງຕົວເລກສຳລັບວິນາທີ (15), ແຍກດ້ວຍຈໍ້າສອງເມັດ (HH:mm:ss) . … ເວລາຄວນສະແດງອອກດ້ວຍຕົວກໍານົດ UTC 'Z'.
ເວລາ UTC ແມ່ນຫຍັງໃນປັດຈຸບັນໃນຮູບແບບ 24 ຊົ່ວໂມງ?
ເວລາປະຈຸບັນ: 07:36:16 UTC. UTC ຖືກແທນທີ່ດ້ວຍ Z ທີ່ເປັນສູນ UTC offset. ເວລາ UTC ໃນ ISO-8601 ແມ່ນ 07:36:16Z.