ទម្រង់ត្រាពេលវេលា
មាតិកា៖
សង្ខេប
បញ្ហា
យើងចង់អាចតាមដានពេលដែលអ្វីៗកើតឡើង ដោយប្រើត្រាពេលវេលា និងប្រើទម្រង់ត្រាពេលវេលាដែលស៊ីសង្វាក់ ដែលដំណើរការបានល្អនៅទូទាំងប្រព័ន្ធទាំងអស់របស់យើង និងប្រព័ន្ធរបស់ភាគីទីបី។
យើងធ្វើអន្តរកម្មជាមួយប្រព័ន្ធដែលមានទម្រង់ត្រាពេលវេលាខុសគ្នា៖
សារ 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 ឯកសារកំណត់ហេតុ ។ល។
សម្រាប់ការប្រើប្រាស់មិនធម្មតា ដូចជាកុំព្យូទ័រប្រសិទ្ធភាពខ្ពស់ យើងរំពឹងថាយើងនឹងចង់ធ្វើឱ្យទម្រង់អត្ថបទណាមួយដែលយើងជ្រើសមានប្រសិទ្ធភាពល្អបំផុត ដោយបម្លែងអត្ថបទទៅជាទម្រង់លឿនជាង ដូចជាប្រភេទវត្ថុកាលបរិច្ឆេទភ្ជាប់មកស្រាប់របស់ភាសាសរសេរកម្មវិធី។ ដូច្នេះទម្រង់អត្ថបទមិនសំខាន់ច្រើនសម្រាប់ HPC ទេ។
ផលវិបាក
ប្រព័ន្ធអត្ថបទ និងប្រព័ន្ធពេលវេលាផ្សេងៗរបស់យើងនឹងបង្រួបបង្រួមទៅលើទម្រង់នេះ។
ពាក់ព័ន្ធ
ការសម្រេចចិត្តពាក់ព័ន្ធ
យើងអាចចង់បានវិធីលឿន/ងាយស្រួលក្នុងការតាមដានដែលរង្វង់ពេលវេលា ឬហៅថារយៈពេលផងដែរ។ ទាំងនេះងាយស្រួលជាមួយត្រាពេលវេលា Unix epoch។
តម្រូវការពាក់ព័ន្ធ
យើងអាចចង់កែសម្រួលការសម្រេចចិត្តរបស់យើង ឧ. ប្រសិនបើយើងមានតម្រូវការពាក់ព័ន្ធសម្រាប់ប្រភេទត្រាសារកំណត់ហេតុជាក់លាក់ ដូចជាសម្រាប់ Splunk, Sumo, ELK ។ល។
វត្ថុពាក់ព័ន្ធ
កម្មវិធីធ្វើទម្រង់ និងកម្មវិធីវិភាគភាសា៖
ឧទាហរណ៍ Rosetta Code៖
ឧទាហរណ៍ SixArm៖
គោលការណ៍ពាក់ព័ន្ធ
អាចត្រឡប់វិញបានយ៉ាងងាយ។ យើងអាចផ្លាស់ប្តូរទៅទម្រង់ផ្សេងបានយ៉ាងងាយស្រួល ដូចជា Unix epoch។
ពន្យារការធ្វើឱ្យល្អបំផុតមុនកាលអាន់។ សម្រាប់ការប្រើប្រាស់ធម្មតា យើងមិនខ្វល់ច្រើនអំពីតួអក្សរបន្ថែមមួយចំនួនតូច ដូចជាទម្រង់ដែលប្រើសញ្ញាដាច់ និងសញ្ញាចុច។
កំណត់ចំណាំ
បន្ថែមកំណត់ចំណាំនៅទីនេះ។