Tech Help
Unix Timestamp վայրկյաններ vs միլիվայրկյաններ. ինչու է ամսաթիվը ցույց տալիս 1970
Եթե Unix timestamp-ը դառնում է 1970-ի մոտ ամսաթիվ, հաճախ վայրկյանները կարդացել են որպես միլիվայրկյաններ։ Ինչպես տարբերել միավորները։
Եթե Unix timestamp-ը տալիս է 1970-ի մոտ ամսաթիվ, արժեքը հաճախ մեկնաբանվում է սխալ միավորով։
Unix timestamp-ները սովորաբար օգտագործում են վայրկյաններ, իսկ JavaScript Date-ը՝ սովորաբար միլիվայրկյաններ։
Ժամանակակից 10 նիշանոց timestamp-ը հաճախ վայրկյաններ է, 13 նիշանոցը՝ միլիվայրկյաններ։ Եթե միավորները չեն համընկնում, կարող է պետք լինել բազմապատկել կամ բաժանել 1000-ով։
Timestamp-ը վերածեցիք ամսաթվի և հայտնվեցիք 1970 թվականի հունվարին։ Ժամացույցը գրեթե երբեք կոտրված չէ։ Թիվը կարդացել են որպես միլիվայրկյաններ, թեև պահված էր վայրկյաններով—կամ հակառակը։
Ի՞նչ է Unix timestamp-ը։
Unix timestamp-ը չափում է ժամանակը Unix epoch-ից՝ 1970-01-01 00:00:00 UTC։ Սովորաբար օգտագործում է ամբողջ վայրկյաններ։ Նույն պահը կարելի է պահել նաև միլիվայրկյաններով (վայրկյաններ × 1000)։ Թիվն ինքը միավորը չի նշում։
Վայրկյաններ vs միլիվայրկյաններ. ×1000 տարբերություն
Մեկ վայրկյանը 1000 միլիվայրկյան է։ Համեմատեք 1720000000-ը 1720000000000-ի հետ։ Եթե առաջինը վայրկյաններ է, երկրորդը՝ միլիվայրկյաններ, դա նույն պահն է։ Առաջինը կարդացեք որպես միլիվայրկյաններ, և ամսաթիվը ցատկում է դեպի 1970։
Այս UTC արդյունքները հաշվարկված են վերևի թվերից, ոչ թե գուշակված։
| Արժեք | Հավանական միավոր | Մեկնաբանություն (UTC) |
|---|---|---|
| 1720000000 | Վայրկյաններ | Ժամանակակից ամսաթիվ որպես վայրկյաններ՝ 2024-07-03 09:46:40 UTC |
| 1720000000000 | Միլիվայրկյաններ | Նույն պահը որպես միլիվայրկյաններ՝ 2024-07-03 09:46:40 UTC |
| 1720000000 որպես միլիվայրկյաններ | Սխալ միավոր | Ամսաթիվ 1970-ի մոտ՝ 1970-01-20 21:46:40 UTC |
Ինչու է իմ timestamp-ը ցույց տալիս 1970։
Եթե վայրկյանների արժեքը վերաբերվում է որպես միլիվայրկյաններ, թիվը 1000 անգամ փոքր է պահանջվածից։ JavaScript-ն այն ժամանակ հաշվում է միայն կարճ հատված Unix epoch-ից հետո, և ամսաթիվը մնում է 1970-ում։
const seconds = 1720000000;
new Date(seconds);
// 1970-01-20 21:46:40 UTC
new Date(seconds * 1000);
// 2024-07-03 09:46:40 UTC
Այդ 1970 ամսաթիվը epoch է գումարած մոտ երկու շաբաթ։ Date-ին տալուց առաջ վայրկյանները բազմապատկեք 1000-ով։
- ՎԱՅՐԿՅԱՆՆԵՐ
- 1720000000
- ՄԻԼԻՎԱՅՐԿՅԱՆՆԵՐ
- 1720000000000
- Վայրկյանների արժեք
- Սխալմամբ որպես միլիվայրկյաններ
- Ամսաթիվ 1970-ի մոտ
Եթե արդյունքը 1970-ի մոտ է, ստուգեք timestamp-ի միավորը ժամային գոտին ուսումնասիրելուց առաջ։
10 նիշը վայրկյաններ է, 13-ը՝ միլիվայրկյաննե՞ր։
Ժամանակակից ամսաթվերի համար 10 նիշը հաճախ վայրկյաններ է, 13-ը՝ միլիվայրկյաններ։ Սա արագ ակնարկ է, ոչ ստուգման կանոն։ Նիշերի քանակը փոխվում է ժամանակային միջակայքի հետ, և որոշ API-ներ պահում են միկրովայրկյաններ կամ նանովայրկյաններ։ Միավորը հաստատեք փաստաթղթով կամ իմաստ ունեցող ամսաթվով։
Ինչու է սա այդքան հաճախ պատահում JavaScript-ում
JavaScript-ում թվային Date-ը epoch-ից միլիվայրկյաններ է։ Շատ backend-ներ, տվյալների բազաներ և Unix գործիքներ դեռ պահում են վայրկյաններ։ Վայրկյանները ուղիղ Date-ին տալը հաճախակի սխալ է։
const unixSeconds = 1720000000;
const wrong = new Date(unixSeconds);
const correct = new Date(unixSeconds * 1000);
wrong-ը 1970-ի մոտ է (1970-01-20 21:46:40 UTC)։ correct-ը ժամանակակից պահն է (2024-07-03 09:46:40 UTC)։
Այլ համակարգեր օգտագործում են այլ միավորներ
Այլ լեզուներ, API-ներ և բազաներ կարող են օգտագործել վայրկյաններ կամ միլիվայրկյաններ։ Ոմանք պահում են միկրովայրկյաններ կամ նանովայրկյաններ։ Մի ենթադրեք, որ լեզուն միշտ մեկ միավոր է օգտագործում—նայեք փաստաթղթին։ Եթե թիվը JSON-ում է, JSON ձևաչափում / Diff-ը դաշտը դարձնում է ընթեռնելի. միավորը դեռ չի ասի։
Ինչպե՞ս իմանամ, թե որ միավորն է իմ timestamp-ը։
Անցեք այս ստուգումներով հերթով։ Միայն նիշերի քանակը բավարար չէ։
- Նայեք API-ի կամ տվյալների բազայի փաստաթղթին։
- Նայեք նիշերի մոտավոր քանակին։
- Համեմատեք արժեքը հավանական ժամանակակից timestamp-ի հետ։
- Փորձեք արժեքը որպես վայրկյաններ և որպես միլիվայրկյաններ։
- Ստուգեք, թե արդյոք ստացված ամսաթիվն իմաստ ունի։
Եթե մեկ մեկնաբանությունը ընկնում է 1970, մյուսը՝ ճանաչելի ամսաթվի վրա, պատճառը միավորների անհամապատասխանությունն է։
Unix timestamp-ի հաճախակի սխալներ
- Վայրկյանները որպես միլիվայրկյաններ։ Ամսաթիվը փլվում է դեպի 1970, ինչպես վերևի օրինակում։
- Միլիվայրկյանները որպես վայրկյաններ։ Ամսաթիվը ցատկում է հեռու ապագա, կամ փոխակերպումը ձախողվում է։
- 1000-ով երկու անգամ բազմապատկել։ Արդեն միլիվայրկյան եղած արժեքը դառնում է հսկա, և ամսաթիվը դարեր առաջ է գնում։
- 1000-ով երկու անգամ բաժանել։ Վայրկյանների արժեքը նորից կրճատվում է, նորից 1970-ի մոտ։
- Ժամային գոտուն մեղադրել։ Գոտին կարող է տեղաշարժել ժամեր կամ օրացույցի օրը։ Ժամանակակից timestamp-ը 1970 չի դարձնում։
- Ձևաչափված ամսաթիվը Unix timestamp համարել։ Արժեքը, ինչպես 2024-07-03T09:46:40Z, epoch թիվ չէ։ Վերլուծեք որպես ամսաթիվ, ոչ որպես վայրկյաններ։
Ժամային գոտին առաջացնու՞մ է 1970-ի խնդիրը։
Սովորաբար ոչ։ Ժամային գոտին կարող է փոխել ցուցադրվող ժամացույցը և կեսգիշերին մոտ՝ օրացույցի ամսաթիվը։ Այն ժամանակակից Unix timestamp-ը 1970 չի դարձնում։ Եթե արդյունքը 1970 է, նախ ստուգեք վայրկյաններն ընդդեմ միլիվայրկյանների։
Փոխակերպել և ստուգել Unix timestamp
NEXNARA Ամսաթվի և ժամի փոխարկիչ-ը կարող է փոխակերպել Unix timestamp բրաուզերում։
Տեղադրեք Unix վայրկյաններ կամ միլիվայրկյաններ, օգտագործեք ընթացիկ timestamp-ը, տեսեք UTC և տեղական ժամը, փոխարկեք գոտիներ և ձևաչափեք ամսաթիվ։ Ինքնաբեր հայտնաբերումը հաճախ 10 նիշը համարում է վայրկյաններ, 13-ը՝ միլիվայրկյաններ. միավորը դեռ կարող եք ընտրել։
Ինքը փոխակերպումը կատարվում է ձեր բրաուզերում։ Այս գործիքը ամսաթվեր կամ timestamp-ներ չի ուղարկում NEXNARA սերվեր։ Գովազդներն ու կայքի այլ հատկությունները դեռ օգտագործում են ցանցը. դա առանձին է փոխակերպումից։
Պե՞տք է ստուգել Unix timestamp։ Բացեք Ամսաթվի և ժամի փոխարկիչ և համեմատեք վայրկյանները միլիվայրկյանների հետ։
FAQ
Ինչու է իմ Unix timestamp-ը ցույց տալիս 1970։
Հաճախ դրանք վայրկյաններ են, որոնք կարդացել են որպես միլիվայրկյաններ։ JavaScript-ը մշակում է շատ ավելի փոքր թիվ, ուստի ամսաթիվը նստում է 1970-01-01 00:00:00 UTC-ից անմիջապես հետո։ Վայրկյանները բազմապատկեք 1000-ով և նորից փոխակերպեք։
Unix timestamp-ները վայրկյաննե՞ր են, թե՞ միլիվայրկյաններ։
Սովորաբար վայրկյաններ։ Շատ վեբ API-ներ և JavaScript Date-ը օգտագործում են միլիվայրկյաններ։ Միշտ նայեք, թե ինչ է փաստաթղթավորում այդ համակարգը։ Ոմանք օգտագործում են միկրովայրկյաններ կամ նանովայրկյաններ։
Ինչպե՞ս վայրկյանները վերածել միլիվայրկյանների։
Բազմապատկեք 1000-ով։ 1720000000 վայրկյանը 1720000000000 միլիվայրկյան է։ Հակառակ ուղղությամբ բաժանեք 1000-ով։
Ինչու է JavaScript Date-ը օգտագործում միլիվայրկյաններ։
JavaScript-ում Date-ի թվային timestamp-ը սահմանված է որպես միլիվայրկյաններ Unix epoch-ից։ Այդ պատճառով new Date(unixSeconds)-ը սխալ է, երբ unixSeconds-ը Unix վայրկյաններ է։
10 նիշանոց timestamp-ը միշտ վայրկյաննե՞ր է։
Ոչ։ Ժամանակակից ամսաթվերի համար հաճախ այո, և 13 նիշը հաճախ միլիվայրկյաններ է։ Նիշերի քանակը ակնարկ է, ոչ կանոն։ Հաստատեք փաստաթղթով կամ իմաստ ունեցող ամսաթվով։
Unix timestamp-ը պարունակու՞մ է ժամային գոտի։
Ոչ։ Unix timestamp-ը պահ է՝ հաշված 1970-01-01 00:00:00 UTC-ից։ Գոտիները ազդում են ցուցադրման վրա, ոչ թե թվի վրա։