Arendaja juhend Unix ajatempli konverterile

Valitse Unix timestamp'i konverter. Õpi, kuidas konverteerida epohhiaega inimloetavateks kuupäevadeks, käsitle erinevaid keeli ja väldi levinud arendaja vigu.

Arendaja juhend Unix ajatempli konverterile

Unix'i aja teisendaja on üks neist lihtsatest, kuid asendamatutest tööriistadest, mida arendajana või andmeanalüütikuna pidevalt kasutama hakkad. See on mugav tööriist, mis tõlgib pika, näiliselt juhusliku numbri meile arusaadavaks kuupäevaks ja kellaajaks. See teisendus on hädavajalik, kui süsteemilogidesse süveneda, API-dega töötada või andmebaase küsitleda, kus aega hoitakse selles super-tõhusas vormingus.

Mis on Unix'i aja mark ja miks see on oluline

A digital counter displaying the Unix timestamp 1609459200, alongside details for seconds, milliseconds, and microseconds.

Enne kui saad head teisendajat tõeliselt hinnata, pead mõistma, mis see number tegelikult on. Tuumikus on Unix'i aja mark lihtsalt sekundite arv. See jälgib kokku sekundite arvu, mis on möödunud ajahetkest 1. jaanuari 1970, kell 00:00:00 UTC. See konkreetne ajahetk on tuntud kui "Unix'i ajastu".

Miks selline meetod? Lihtsuse ja tõhususe tõttu. Aja säilitamine ühe täisarvuna on palju kompaktsem ja jõudluslikum kui pikk string nagu "reede, 1. jaanuar 2021, kell 00:00:00 GMT". See muudab selle ideaalseks mitme peamise valdkonna jaoks:

  • Andmebaaside salvestamine: Ajatemplid on väikesed, muutes need indekseerimiseks ja küsitlemiseks kiireks. See on tohutu võit jõudlusele.
  • API koormused: Ühe numbri saatmine edasi-tagasi on palju宽带-säästlikum kui terve kuupäevastri saatmine, mis viib kiiremate vastusaegadeni.
  • Logifailid: Kui töötled logisid kümnetelt erinevatelt süsteemidelt, on ühtlase, keelesõltumatu ajatempli omamine päästejoaks.
  • Arvutused: Tead vaja, kui kaua protsess võttis? Lihtsalt lahuta algusajatempl lõpuajatemplist. See on lihtne täisarvude matemaatika.

Sekundid versus millisekundid ja rohkemgi

Klassikaline Unix'i aja mark on 10-kohaline number, mis esindab sekundeid. Kuid tehnoloogia arenedes kasvas vajadus täpsema aja järgi. Siin hakkad nägema erineva pikkusega ajatempleid ja see on tavaline komistuskivi.

Siin on kiire ülevaade sellest, mida looduses tavaliselt kohata võid. Ühe teisega segi ajamine on klassikaline "tuhande võrra eksimuse" viga, mis võib põhjustada väga segaseid vigu.

Tavalised Unix'i aja vormingud lühidalt

Ühik Numbrid Tüüpiline kasutusala Näidise väärtus (sama hetke kohta)
Sekundid 10 Standard enamiku tahaplaanisüsteemide, andmebaaside ja API-de jaoks. 1609459200
Millisekundid 13 Väga levinud veebitehnoloogiates, eriti JavaScript. 1609459200000
Mikrosekundid 16 Kasutatakse sagedasel kauplemisel või teaduslikel arvutustel. 1609459200000000

Nende vormingute õigsus on võtmetähtsusega. Kui tööriist ootab sekundeid ja sa annad talle millisekundeid, saad kuupäeva, mis on tuhandeid aastaid tulevikus. See on viga, mida me kõik mingil hetkel teinud oleme!

Kuulus 2038. aasta probleem

Unix'i aja ajastu elegantne lihtsus lõi ka tiksuva aja pommi: "2038. aasta probleemi". Vanemates 32-bitistes süsteemides hoiti ajatempleid allkirjastatud 32-bitise täisarvuna. Probleem on selles, et sellel tüübil täisarvul on lagi – see ei suuda hoida suuremat numbrit kui 2,147,483,647.

On 19. jaanuaril 2038 kell 03:14:07 UTCületab epohhist möödunud sekundite arv selle piiri. Kui see juhtub, "mähkub" täisarv ringi ja muutub negatiivseks. See põhjustaks haavatavatel süsteemidel kuupäeva tõlgendamist tagasi 1901, mis võib krahhida miljardeid endiselt kasutusel olevaid seadmeid. Saate rohkem teavet Unix-epohhi ja selle mõju kohta ekspertidelt StrongDM.

Õnneks see pole midagi, mille pärast enamik meist igapäevaselt muretsema peaks. Enamik kaasaegseid süsteeme on läinud üle 64-bit täisarvudele aja mõõtmiseks. 64-bitine täisarv on nii tohutu, et see ei ületatud veel 292 miljardit aastat, lahendades probleemi tõhusalt ja lõplikult.

Siiski on see suurepärane osa arvutiajaloost ja kriitiline teadmus, kui töötate kunagi vanemate põimitud süsteemide või pärandkoodiga. Nende põhitundmine muudab iga Unix ajatempli teisendi teie käes palju võimsamaks tööriistaks.

Teisenduste lihtsustamine oma brauseris

Kuigi terminalikäsu või koodilõigu kasutamine töötab, ei ole see alati kõige kiirem viis asjade valmis saamiseks. Mõnikord vajate lihtsalt vastust praegu, oma keskendumist katkestamata ega aknaid vahetamata. Siin näitab hea brauseripõhine tööriist oma väärtust eriti, pühendatud Unix aja teisendaja mis asub otse teie brauseris.

Tõeline võlu peitub voo püsimises. Kujuta ette: sa kaevelad brauseri arendajatööriistades API vastuse läbi ja märkad ajatemplit. Teise vahelehe avamise või terminali käivitamise asemel vajutad kiiret klaviatuurikombinatsiooni, kleepid numbri ja saad koheselt vastuse. Sellist sujuvat töövoogu pakuvad tööriistad nagu ShiftShift Extensions, mis koondavad hulga kasulikke tööriistu ühte Käsupaleesse.

Saage kohesed vastused klaviatuurikombinatsiooniga

Kõik taandub kiirusele. Tööriistaga nagu ShiftShift piisab kiirest topeltoppimisest Shift võti (või Cmd+Shift+P Macil) avab käsuliini. Lihtsalt hakake kirjutama "timestamp," ja teisaldaja ilmub. Kleepige oma väärtus ja saate koheselt inimesele loetava kuupäeva.

Siin on, kuidas see välja näeb – Käsurea palett on valmis ja ootab, et teisaldaks timestamp'i otse teie praeguse lehe kohal.

Parim osa on see, kuidas see integreerub ilma teid segamata. Teisaldaja on lihtsalt üks paljudest tööriistadest, mis on saadaval samas kattes, nii et te ei pea kunagi sellest, mida teete, lahkuma.

See lähenemisviis on arendajatele, testijatele ja kõigile teistele, kes praktiliselt elavad oma brauseris, pääste. Lisaks toimub teisendus täielikult teie masinas. Logide või API vastuste tundlikud andmed ei lahkuda kunagi teie arvutist, mis on privaatsuse jaoks tohutu võit.

Ajatempli teisendamise, segase JSON-kogumi ümberformatimeerimise ja aja vahe arvutamise võimalus — kõik samast liidesest — on tohutu ajasäästja. See muudab kohmaka, mitme tööriista protsessi üheks sujuvaks tegevuseks.

Enam kui lihtsalt ühe triki ponid

Suurepärane brauseris tööriist on harva ainult üks tööriist; see on osa kogu tööriistakastist. Sageli leiate end kasutamas ajatempli teisendajat koos teiste funktsioonidega.

Näiteks võid selle siduda järgmisega:

  • A JSON- või SQL-vormindajaga et korrastada mõni kood enne ajatempli väljavõtmist.
  • A sisseehitatud kalkulaator tehtavate kiirete arvutuste jaoks ajaühiku väärtustega. (Saate sarnase tööriistaga mängida ShiftShift kalkulaatori lehel et näha, kuidas see töötab).
  • A tekstivõrdlustööriist kahe API vastuse, ajatemplite ja kõige muu erinevuste tuvastamiseks.

Kõigi nende vajalike asjade kohta ühes kohas loob palju kiirema ja ühtlasema töövoogu. See pole ainult mugavuse pärast – see on selleks, et kõrvaldada kõik need pisikesed, korduvad katkestused, mis kogunevad ja tapavad teie tootlikkuse päeva jooksul.

Praktilised ajatempli teisendused koodis

Kui olete arendaja, teate, et ajatemplitega toimetamine on osa tööst. Aga olgem ausad, süntaks ei ole kunagi päris sama ühest keelest teise. See osa on teie igapäevane abistaja, täis koodilõike, mida saate kohe kasutada oma tegelikes tööplatvormidel. Mitte enam vana Stack Overflow teemade kaevamist – lihtsalt praktilised näited, et edasi liikuda.

Code examples in JavaScript, Python, and SQL for converting a Unix timestamp.

Olenemata sellest, kas töötled andmeid veebi esiosas, kirjutad Pythoni skripti või küsid andmebaasilt, ajamütsi teisendamine on põhiline oskus. Vaatame läbi kõige levinumad stsenaariumid, alates epoch täisarvu teisendamisest loetavaks stringiks ja seejärel kogu vastupidise tegevuse tegemisest.

Ajamärgiste teisendamine JavaScriptis

JavaScripti Date objekt on siin peamine tööriist, kuid sellel on üks suur eripära, mis arendajaid sageli segadusse ajab: see töötab millisekundites, mitte sekundites. See on viga, mis tekib sageli siis, kui sinu esiosa suhtleb tagaosaga, mis kasutab standardselt 10-numbrilisi, sekunditel põhinevaid ajamärke.

Standardse Unix'i ajamärgi (sekundites) õigeks teisendamiseks Date objektiks tuleb see korrutada 1000.

// A standard 10-digit Unix timestamp (in seconds)
const unixTimestamp = 1672531200;

// Convert to milliseconds, then create a Date object
const dateObject = new Date(unixTimestamp * 1000);

// Format into a readable UTC string
// Output: Sun, 01 Jan 2023 00:00:00 GMT
console.log(dateObject.toUTCString());

Vajad praegust ajamärki? Date.now() annab selle sulle millisekundites. Lihtsalt meeles pidada, et enne standardselt 10-numbrilise ajamärgi saatmist API-le tuleb see jagada 1000 ja ümardada alla.

Teisenduste käsitsemine Pythoniga

Tagaosa poolel on Pythoni datetime moodul võimas tööriist. See on uskumatult paindlik ja suurepärase toega ajavöönditeadlikele teisendustele, muutes selle usaldusväärseks valikuks teenustele, mis peavad aega täpselt käsitlema erinevates piirkondades.

Siin on lihtne viis ajamärgi teisendamiseks datetime raamatukoguga:

import datetime

Standardne 10-numbriline Unix'i ajamärk

unix_timestamp = 1672531200

Teisenda ajamärk datetime objektiks

datetime_obj = datetime.datetime.fromtimestamp(unix_timestamp)

Vorminda see puhtaks, inimloetavaks stringiks

Väljund: 2023-01-01 00:00:00

print(datetime_obj.strftime('%Y-%m-%d %H:%M:%S'))
See lihtne lähenemine annab sulle puhtama ja usaldusväärsema viisi epoch aja haldamiseks oma Pythoni rakendustes. Ja kui töötled keeruliste andmestruktuuridega nagu JSON, mis sisaldavad ajamärke, võib meie juhend JSON vormindaja kasutamise kohta olla kasulik silumisel.

Andmebaaside teisendused SQLiga

Andmebaasid salvestavad aja sageli Unix'i ajamärkidena, kuna need on tõhusad. Hea uudis on see, et enamikul SQLi variantidel on sisseehitatud funktsioonid nende teisenduste käsitlemiseks otse su päringutes. See on palju tõhusam kui toores täisarvuliste ajamärkide väljatõmbamine ja nende teisendamine rakenduse koodis.

Unix'i ajamärk on peaaegu universaalne, seda kasutatakse rohkem kui 90% programmeerimiskeeli—alates JavaScripti Date.now() kuni Pythoni time.time()—toites triljoneid igapäevaseid operatsioone. Ajavööndite õige käsitlemine on kriitiline; korralik unix ajamärgi teisendaja suudab käsitleda üle 400 IANA tsooni, mis aitab vältida vigu hinnanguliselt 62% globaalsest rakendustest, mis ajavöönditega ei tegele. Rohkem detaile nende tööriistade ülemaailmsest kasutusest leiad kohast Fossa.

Arendajate jaoks on suur produktiivsuse võit võimalus vormindada SQLi, teisendada ajamärke ja arvutada epoch erinevusi kunagi oma masinast lahkumata. See kohaliku esimesuse lähenemine hoiab sind kooskõlas kaasaegsete andmekaitsenormidega nagu GDPR ja CCPA.

MySQL näide

MySQLis on FROM_UNIXTIME() funktsioon see, mida sa kõige rohkem kasutad. See võtab epoch täisarvu ja muundab selle kenasti standardsesse DATETIME formaati.

SELECT FROM_UNIXTIME(1672531200);
-- Tagastab: '2023-01-01 00:00:00'
Teisel suunal minemiseks—kuni kuupäeva stringist epoch ajamärgini—kasuta lihtsalt UNIX_TIMESTAMP().

SELECT UNIX_TIMESTAMP('2023-01-01 00:00:00');
-- Tulemus: 1672531200

PostgreSQL näide

PostgreSQL kasutab pisut erinevat, kuid sama võimsat funktsiooni: to_timestamp(). See funktsioon teisendab Unix-i ajatempli otse TIMESTAMP WITH TIME ZONE väärtuseks.

SELECT to_timestamp(1672531200);
-- Tulemus: 2023-01-01 00:00:00+00
Kuna see on kohe ajavöönditeadlik, on see väga vastupidav valik rakendustele, mis teenindavad ülemaailmset publikut, kus ajaprecision on kohustuslik.

Ajatempli teisenduste valdamine terminalis

Kui sa elad käsuliinis, on brauseri või graafilise kasutajaliidese juurde minek kiire ajatempli teisenduse jaoks tõeline töövoogude tapja. See lihtsalt katkestab su keskendumise. Hea uus on see, et sa ei pea seda tegema; nii Linuxil kui macOS-il on tõhusad, natiivsed tööriistad, mis käitlevad neid teisendusi kunagi terminalist lahkumata.

Selle põhiline tööriist on tagasihoidlik date käsk. See on praktiliselt igal Unixi-laadsel süsteemil, kuid on üks konks: sünakas kasutamiseks unix timestamp convertor on erinev Linuxi (GNU) ja macOS-i (BSD) vahel. Erinevuste tundmine on võti õige tulemuse saamiseks iga kord.

Ajatemplite teisendamine Linuxil

Linuxil on süntaks puhas ja lihtne meelde jätta. Sa kasutad lihtsalt -d lippu kuupäeva määramiseks, kuid pead sellele ütlema, et sa annad epohhi ajatempli, lisades sellele @ sümboli.

Oletame, et kaevud logidesse ja märkad ajatempli 1704067200. Selle tähenduse nägemiseks peaksid käivitama järgmise:

date -d @1704067200

Koheselt saad inimesele loetava kuupäeva tagasi, midagi sellist nagu Mon Jan 1 00:00:00 UTC 2024. Sa saad seda väljundit ka kohandatud vorminguga korrastada.

date -d @1704067200 +"%Y-%m-%d %H:%M:%S"

Väljund: 2024-01-01 00:00:00

Profidetail: See käsk muutub tõeliseks jõuallikaks, kui hakkad teisi käske sellele suunama. Sa saad grep ajatempli tohutust logifailist ja toita seda otse date koheseks teisenduseks. See muudab mitmeastmelise silumisülesande üheks elegantseks üherealiseks käsuekraaniks.

Teisenduste käsitsemine macOS-il

Nüüd, kui sa käivitad sama Linuxi käsu Mac-il, viskab see vea. macOS-i kasutatava date BSD versioon nõuab -r lippu ja sellel ei ole vaja @ eesliidet.

Siin on, kuidas sa teisendad sama templi Mac-il:

date -r 1704067200

Nagu Linuxi versioonil, saad lisada vorminguvõimalusi, et saada täpselt soovitud väljund.

date -r 1704067200 +"%Y-%m-%d %T %Z"

Väljund: 2024-01-01 00:00:00 UTC

See pisike erinevus on klassikaline komistuskivi kõigile, kes sageli Linuxi ja macOS-i vahel hüppavad. Mõlema versiooni meeldejätmine säästab sind paljudest peavaludest edaspidi.

Kui sa need käsud selgeks saad, saad ajatemplite teisendused otse oma shelli skriptidesse ja logide analüüsi põimida. See on väike oskus, kuid see lisab tõsise tootlikkuse kasu, hoides sind töösse süvenenud ja keskendunud sellele, mis on oluline.

Tavalised ajatempli lõksud ja kuidas neid vältida

Unix-i ajatemplitega töötamine tundub pinnapealselt lihtne, kuid mõned klassikalised vead võivad viia tõeliselt hulluksajavate vigadeni. Neil probleemidel on tõeline komis ilmuda paljudest kohtadest eemal, kus viga tegelikult juhtus, muutes need silumiseks tõeliseks peavaluks. Mõtle sellest jaosist kui oma juhendist, kuidas märgata ja vältida kõige tavalisemaid ajatemplilõkse, mida olen aastate jooksul näinud.

Sekundite ja millisekundite segadus

Kaugelt kõige sagedasem viga on sekundite ja millisekundite segiajamine. Tavaline Unix-i ajatempel on 10-numbrine täisarv, mis esindab sekundite arvu epohhist alates. Kuid paljud süsteemid, eriti JavaScripti maailmas, töötavad 13-numbrise ajatempliga millisekundite jaoks. Kui esiosa rakendus edastab millisekundiväärtuse tagaosale, mis ootab sekundeid, lähevad asjad segamini.

unix timestamp convertor jaoks näeb see 13-numbriline number välja nagu kuupäev tuhandeid aastaid tulevikus. See võib vaikselt rikkuda andmete valideerimise, planeerimisloogika ja kõik ajaloolised kirjed, mida proovite säilitada. See on seda laadi vaikne andmete rikkumine, mida te ei pruugi nädalate jooksul märgata.

Ajavööndilõks

Teine lõks, mis püüab kinni isegi kogenud arendajaid, on ajavööndite käsitlus. Oma määratluse järgi on Unix'i ajatempel alati koordineeritud universaalajas (UTC). See esindab ühte universaalset hetke ajas, mis on täiesti sõltumatu asukohast. Lõks aktiveerub, kui te unustate selle ja eeldate, et ajatempel kajastab kasutaja kohalikku aega.

See viga juhtub tavaliselt siis, kui te teisendate ajatempeli loetavaks kuupäevaks, määramata ajavööndit. Teie süsteem kasutab sageli vaikimisi serveri kohalikku aega, mis põhjustab kaost. New Yorgis kasutaja võib näha aega, mis on mõeldud Londonis olevale inimesele, kuid see on mitu tundi vales kohas.

Kuldlõige on lihtne: kohtlege ajatempelid oma backendis alati UTC-na. Salvestage need UTC-na, töödelge neid UTC-na ja teisendage kasutaja kohalikku aega ainult front-endis, otse kuvamise hetkel.

Levinud ajatempeli teisendusvigade tõrkeotsing

Kui asjad lähevad viltu, võivad sümptomid olla segadusttekitavad. Siin on kiire võrdlustabel, mille olen kogemuse põhjal kokku pannud, et aidata teil kõige tavalisemaid probleeme kiiresti diagnoosida ja parandada.

Sümptom Tõenäoline põhjus Lahendus
Kuupäev on aastas 52361 või mõnel muul kaugel tuleviku aastal. Millisekundid vs. sekundid. Te edastate 13-numbrilise millisekundilise ajatempele funktsioonile, mis ootab 10-numbrilist sekundilist ajatempele. Jagage ajatempel 1000-ga enne töötlemist. Kontrollige alati sisenevate ajatempelite numbrilist pikkust.
Aeg on mitu tundi vales kohas, kuid kuupäev on õige. Ajavööndi vale käsitlus. Ajatempel teisendati serveri kohaliku aja abil, mitte kasutaja või UTC abil. Veenduge, et kõik teisendused määravad sihtajavööndi selgelt. Teisendage kohalikku aega ainult kliendipoolel.
Kuupäev on kinni 1. jaanuaril 1970. Või kehtetu ajatempel. Ajatempele väärtus on tõenäoliselt 0, null või undefined. Lisage kontroll, et tagada ajatempele on kehtiv positiivne enne teisendamise alustamist. Pakugete asendväärtus.
Saate veateate "Või kuupäev" või NaN viga. Vale andmetüüp. Ajatempele käsitletakse stringina või mõne muu numbrilise tüübina, kui nõutakse numbrit. Parsige ajatempele selgelt täisarvuks (parseInt() JS-s, int() Pythonis) enne selle kasutamist kuupäevafunktsioonides.

Pidage meeles, et sisendi kiire kontroll võib säästa teid tundidepikkusest silumisest hiljem.

Ähmasuse vältimine standardsete vormingutega

Toorete täisarvuliste ajatempelite kasutamine andmete edastamisel süsteemide vahel võib olla segaduse allikas. Sellepärast on universaalse stringivormingu, nagu ISO 8601 (2022-05-17T12:00:00Z), standardiseerimine nii hea kaitsev samm. Unix'i ajatempelite (nt. 1652905200) teisendamine selgesse, isedokumenteerivasse vormingusse aitab ära hoida vigu hinnanguliselt 37% ristajavööndiliste API-kutsungite puhul.

Arvestades, et 72% Fortune 500 ettevõtetest kasutavad Unix'i ajatempele logide analüüsimiseks, kus üksainus eksimus võib maksta üle $10,000 tunni kohta seisakuajal, on täpsus kõik. Lisateavet selle kohta, kuidas epohhaega erinevates tööstusharudes kasutatakse, saate lugeda veebisaidil EpochConverter.

Andmebaase haldavate jaoks on järjekindel ajatempele käsitlus sama kriitiline. Kui leiate end sageli erinevate ajatempele vormingutega võitlemas oma andmebaasis, võib meie juhend võimsa SQL vormindaja kasutamise kohta aidata teil oma päringud puhtana ja ennustatavana hoida.

See otsustepuu aitab teil valida õige käsu oma operatsioonisüsteemile, vältides süntaksi vigu, kui teil on vaja kiiret teisendust.

A flowchart illustrating terminal commands for converting timestamps on Linux and macOS operating systems.

Ülallolev voogdiagramm näitab selgelt kriitilist süntaktivahet date käsul Linuxis (-d @...) ja macOS-is (-r ...) — see on levinud lõks arendajatele, kes töötavad eri keskkondades.

Oma koodi kindlustamiseks rakenda alati kontrolle sissetuleva ajatempli pikkuse valideerimiseks. Lihtne funktsioon, mis kontrollib 10-numbrilist (sekundid) või 13-numbrilist (millisekundid) väärtust, võib need vead tabada enne, kui need teie rakenduse loogikat rikuvad.

Korduma kippuvad küsimused Unixiajatemplite kohta

Kui oled Unixiajatemplitega tutvunud, tekib peaaegu alati mõni praktiline küsimus. Olen näinud, kuidas need kõigi tasemete arendajatel sassi lähevad, seega selgitame lahti kõige levinumad küsimused, millega igapäevatöös kokku puutud.

Miks nii paljud API-d kasutavad ajatempleid, mitte ISO 8601 stringsid?

See taandub puhtale tõhususele. Unixiajatempel on lihtsalt üks number, mis muudab selle uskumatult kompaktseks võrreldes stringiga nagu '2023-10-27T10:00:00Z'. See väiksem suurus tähendab vähem andmeid edastamiseks, mis säästab ribalaiust ja võib kiirendada API vastuseid.

Need on ka täiesti keelest sõltumatud. Puudub segadus, eripärad ja piirkondlikud vormindused. Masinale on numbrite töötlemine alati kiirem kui stringide parsimine, seega on kõik kuupäeva arvutused — näiteks kahe sündmuse vahelise aja väljaselgitamine — arvutuslikult odavam. Kõrge jõudlusega süsteemides on see lihtsus suur eelis.

Mis on õige viis ajavööndite käsitlemiseks?

See on kõige olulisem. Siin on kuldreegel: Unixiajatempel on alati, alati UTC-aajas. Sellel puudub ajavööndi kontseptsioon. See on lihtsalt toores sekundite loend epohhist alates.

Ajavööndid on olulised ainult siis, kui pead seda ajatemplit inimesele näitama.

Minu nõuanne? Kasuta kõike backendil UTC-aajas. Salvesta see oma andmebaasi UTC-ajatemplina, edasta see oma API-des UTC-s ja tee kogu serveripoolne loogika UTC-s. Ainuke aeg, kui peaksid selle kohalikku ajavööndisse teisendama, on frontendil, vahetult enne kasutajale kuvamist. See üks praktika säästab sind terve hulga ajavööndi- ja suveaja vigadest.

Kas peaksin endiselt muretsema 2038. aasta probleemi pärast?

Enamiku uute projektide jaoks tõenäoliselt mitte. "2038. aasta probleem" on vanemate süsteemide pärand, mis kasutasid ajatemplite salvestamiseks 32-bitist täisarvu. Kui see number liiga suureks muutub, muutub see ringis ja muutub negatiivseks, saates kuupäevad tagasi 1901. aastasse.

Õnneks on peaaegu kõik kaasaegsed süsteemid — alates操作系统idest kuni andmebaasideni — juba ammu liikunud 64-bitiste täisarvude juurde. See lükkab probleemi nii kaugele tulevikku (tegelikult miljardeid aastaid), et see pole enam meie jaoks praktiline mure.

Sellest hoolimata, kui hooldad vanemat süsteemi või töötad põhiseadme riistvaraga (näiteks IoT-seadmed), on see kindlasti teadmine väärt. Tea alati, millist arhitektuuri sa kasutad.

Kuidas saan ajatemplit Excelis või Google Sheetsis kiiresti teisendada?

Selleks pole vaja oma andmeid eraldi Unixiajatempli teisendajasse välja tuua. Lihtne valem teeb töö ära. Eeldades, et sinu ajatempel on lahtris A1:

  • Sekundite jaoks mõeldud ajatemplitele (10 numbrit): =A1 / 86400 + DATE(1970,1,1)
  • Millisekundite jaoks mõeldud ajatemplitele (13 numbrit): =A1 / 86400000 + DATE(1970,1,1)

Sisesta lihtsalt see valem ja vorminda lahtriks "Kuupäev" või "Kuupäev ja kellaaeg". See on päästeots, kui analüüsid kiiresti andmeeksporte ega taha oma töövoogu katkestada.


Oled väsinud pidevast editori, käsuriba ja tosina brauserikaardi vahel liikumisest lihtsate ülesannete jaoks? ShiftShift Extensions komplekt sisaldab võimsat Unixiajatempli teisendajat, JSON vormindajat, SQL kaunistajat ja palju muud otse su brauseris. Kõik, mida vajad, on vaid kiirklahv eemal.

Hangi ShiftShift Extensions ja lihtsusta oma töövoogu juba täna aadressil https://shiftshift.app

Soovitatud laiendused