ຮູບແບບຕາປະທັບເວລາ
ສາລະບານ:
ບົດສະຫຼຸບ
ບັນຫາ
ພວກເຮົາຢາກຕິດຕາມວ່າສິ່ງຕ່າງໆເກີດຂຶ້ນເມື່ອໃດ ໂດຍໃຊ້ຕາປະທັບເວລາ ແລະ ໃຊ້ຮູບແບບຕາປະທັບເວລາທີ່ສອດຄ່ອງ ທີ່ເຮັດວຽກໄດ້ດີທົ່ວທຸກລະບົບຂອງພວກເຮົາ ແລະ ລະບົບຂອງບຸກຄົນທີສາມ.
ພວກເຮົາໂຕ້ຕອບກັບລະບົບທີ່ມີຮູບແບບຕາປະທັບເວລາທີ່ແຕກຕ່າງກັນ:
ຂໍ້ຄວາມ JSON ບໍ່ມີຮູບແບບຕາປະທັບເວລາແບບເນທີຟ ດັ່ງນັ້ນພວກເຮົາຈຶ່ງຕ້ອງເລືອກວິທີແປງຕາປະທັບເວລາເປັນສະຕຣິງ ແລະ ແປງສະຕຣິງເປັນຕາປະທັບເວລາ ນັ້ນຄື ວິທີ serialize/deserialize.
ບາງແອັບພລິເຄຊັນຖືກຕັ້ງໃຫ້ໃຊ້ເວລາທ້ອງຖິ່ນ ແທນທີ່ຈະເປັນເວລາ UTC. ສິ່ງນີ້ສາມາດສະດວກສຳລັບໂຄງການທີ່ຕ້ອງປັບຕາມເວລາທ້ອງຖິ່ນ ເຊັ່ນ ໂຄງການທີ່ກະຕຸ້ນເຫດການທີ່ອີງໃສ່ເວລາທ້ອງຖິ່ນ.
ບາງລະບົບມີຄວາມຕ້ອງການ ແລະ ຄວາມສາມາດດ້ານຄວາມລະອຽດຂອງເວລາທີ່ແຕກຕ່າງກັນ ເຊັ່ນ ການໃຊ້ຄວາມລະອຽດເວລາເປັນວິນາທີ ທຽບກັບ ມິນລິວິນາທີ ທຽບກັບ ນາໂນວິນາທີ. ຕົວຢ່າງ ຄຳສັ່ງ
dateຂອງລະບົບປະຕິບັດການ Linux ໃຊ້ຄວາມລະອຽດເວລາເລີ່ມຕົ້ນເປັນວິນາທີ ໃນຂະນະທີ່ຕະຫຼາດຫຼັກຊັບ Nasdaq ຕ້ອງການຄວາມລະອຽດເວລາເລີ່ມຕົ້ນເປັນນາໂນວິນາທີ.
ການຕັດສິນໃຈ
ພວກເຮົາເລືອກຮູບແບບມາດຕະຖານຕາປະທັບເວລາ ISO 8601 ທີ່ມີຄວາມລະອຽດລະດັບນາໂນວິນາທີ ໂດຍສະເພາະ "YYYY-MM-DDTHH:MM:SS.NNNNNNNNNZ".
ຮູບແບບນີ້ສະແດງປີ, ເດືອນ, ວັນ, ຊົ່ວໂມງ, ນາທີ, ວິນາທີ, ນາໂນວິນາທີ ແລະ ເຂດເວລາ Zulu ທີ່ເອີ້ນວ່າ UTC, GMT.
ສະຖານະ
ຕັດສິນໃຈແລ້ວ.
ລາຍລະອຽດ
ສົມມຸດຕິຖານ
ພວກເຮົາຕ້ອງຈັດການສະຕຣິງຂໍ້ຄວາມຕາປະທັບເວລາເຫຼົ່ານີ້ ເພື່ອແປງຈາກຕາປະທັບເວລາເປັນສະຕຣິງ (ເອີ້ນວ່າ serialize) ແລະ ແປງຈາກສະຕຣິງເປັນຕາປະທັບເວລາ (ເອີ້ນວ່າ deserialize).
ພວກເຮົາຕ້ອງການຮູບແບບທີ່ໂດຍທົ່ວໄປໃຊ້ງ່າຍ, ແປງງ່າຍ ແລະ ຄົນອ່ານງ່າຍ.
ພວກເຮົາຕ້ອງການຄວາມເຂົ້າກັນໄດ້ກັບລະບົບພາຍນອກຫຼາກຫຼາຍທີ່ພວກເຮົາຄວບຄຸມບໍ່ໄດ້ ເຊັ່ນ ລະບົບວິເຄາະ, ລະບົບຖານຂໍ້ມູນ, ລະບົບການເງິນ.
ຂໍ້ຈຳກັດ
ບາງລະບົບມີຂໍ້ຈຳກັດດ້ານຄວາມລະອຽດຂອງເວລາ. ຕົວຢ່າງ ຄຳສັ່ງ date ຂອງລະບົບປະຕິບັດການ macOS ສາມາດພິມຄວາມລະອຽດເວລາເປັນວິນາທີ ແຕ່ບໍ່ສາມາດເປັນນາໂນວິນາທີ.
ຈຸດຢືນ
ພວກເຮົາໄດ້ພິຈາລະນາທາງເລືອກຫຼາກຫຼາຍ:
Unix epoch ນັ້ນຄື ຕົວເລກດຽວທີ່ເພີ່ມຂຶ້ນເລື້ອຍໆ.
ຮູບແບບຂໍ້ຄວາມແບບກະທັດຮັດ "YYYYMMDDTHHMMSSNNNNNNNNN".
ການໃຊ້ເຂດເວລາທ້ອງຖິ່ນ ທຽບກັບ ເຂດເວລາ UTC.
ຂໍ້ໂຕ້ແຍ້ງ
ສຳລັບການໃຊ້ງານທົ່ວໄປ ພວກເຮົາໃຫ້ຄຸນຄ່າກັບຄວາມງ່າຍໃນການອ່ານ/ຂຽນໂດຍມະນຸດ ຫຼາຍກວ່າຄວາມໄວ/ຂະໜາດດິບ.
ສຳລັບການໃຊ້ງານທົ່ວໄປ ພວກເຮົາຕ້ອງການຮູບແບບທີ່ເຮັດວຽກໄດ້ດີໃນລະບົບເຄື່ອງຈັກ ແລະ ເຮັດວຽກໄດ້ດີດ້ວຍມືເຊັ່ນກັນ ເຊັ່ນ ການຂຽນຂໍ້ມູນຕົວຢ່າງ, ການອ່ານຜົນຜະລິດ JSON, ການ grep ໄຟລ໌ log ແລະ ອື່ນໆ.
ສຳລັບການໃຊ້ງານທີ່ບໍ່ທົ່ວໄປ ເຊັ່ນ ການຄຳນວນປະສິດທິພາບສູງ ພວກເຮົາຄາດວ່າຈະຕ້ອງການປັບປຸງຮູບແບບຂໍ້ຄວາມໃດໆທີ່ພວກເຮົາເລືອກ ໂດຍແປງຂໍ້ຄວາມເປັນຮູບແບບທີ່ໄວກວ່າ ເຊັ່ນ ປະເພດວັດຖຸວັນທີທີ່ມີໃນຕົວຂອງພາສາການຂຽນໂປຣແກຣມ. ດັ່ງນັ້ນຮູບແບບຂໍ້ຄວາມຈຶ່ງບໍ່ສຳຄັນຫຼາຍສຳລັບ HPC.
ຜົນໄດ້ຮັບ
ລະບົບຂໍ້ຄວາມ ແລະ ລະບົບເວລາຫຼາກຫຼາຍຂອງພວກເຮົາຈະລວມເຂົ້າກັນເປັນຮູບແບບນີ້.
ທີ່ກ່ຽວຂ້ອງ
ການຕັດສິນໃຈທີ່ກ່ຽວຂ້ອງ
ພວກເຮົາອາດຕ້ອງການວິທີທີ່ໄວ/ງ່າຍເພື່ອຕິດຕາມຜົນຕ່າງຂອງເວລາ ທີ່ເອີ້ນວ່າໄລຍະເວລາ (durations) ດ້ວຍ. ສິ່ງເຫຼົ່ານີ້ງ່າຍດ້ວຍຕາປະທັບເວລາ Unix epoch.
ຄວາມຕ້ອງການທີ່ກ່ຽວຂ້ອງ
ພວກເຮົາອາດຕ້ອງການປັບການຕັດສິນໃຈຂອງພວກເຮົາ ເຊັ່ນ ຖ້າພວກເຮົາມີຄວາມຕ້ອງການທີ່ກ່ຽວຂ້ອງສຳລັບຕາປະທັບຂໍ້ຄວາມ logging ປະເພດສະເພາະ ເຊັ່ນ ສຳລັບ Splunk, Sumo, ELK ແລະ ອື່ນໆ.
ຜະລິດຕະພັນທີ່ກ່ຽວຂ້ອງ
ຕົວຈັດຮູບແບບ ແລະ ຕົວວິເຄາະຂອງພາສາ:
ຕົວຢ່າງຈາກ Rosetta Code:
ຕົວຢ່າງຈາກ SixArm:
ຫຼັກການທີ່ກ່ຽວຂ້ອງ
ຍ້ອນກັບໄດ້ງ່າຍ. ພວກເຮົາສາມາດປ່ຽນເປັນຮູບແບບອື່ນໄດ້ຢ່າງງ່າຍດາຍ ເຊັ່ນ Unix epoch.
ເລື່ອນການປັບປຸງກ່ອນເວລາອັນຄວນ. ສຳລັບການໃຊ້ງານທົ່ວໄປ ພວກເຮົາບໍ່ສົນໃຈຫຼາຍກັບຕົວອັກສອນເພີ່ມເຕີມບໍ່ກີ່ຕົວ ເຊັ່ນ ຮູບແບບທີ່ໃຊ້ຂີດຕໍ່ ແລະ ຈ້ຳສອງຈຸດ.
ໝາຍເຫດ
ເພີ່ມໝາຍເຫດຢູ່ນີ້.