Teknobench

Tiontaire Stampa Ama Unix

Tiontaigh stampaí ama Unix i soicindí nó milleasoicindí go dátaí inléite in am áitiúil, UTC agus ISO 8601, agus iompaigh aon dáta ar ais ina am epoch.

Stampa ama reatha
–

Stampa ama → dáta

Am áitiúil
–
UTC
–
ISO 8601
–

Dáta → stampa ama

Soicindí
–
Milleasoicindí
–

Conas an tiontaire stampa ama Unix a úsáid

  1. Chun stampa ama a thiontú go dáta, greamaigh luach epoch ar nós 1700000000 nó 1700000000000. Braitheann an uirlis óna mhéid an bhfuil sé i soicindí nó i milleasoicindí.
  2. Léigh an toradh i do chrios ama áitiúil, in UTC, agus i bhformáid ISO 8601.
  3. Chun dul an treo eile, cuir isteach dáta agus am; tugann an uirlis an luach epoch comhfhreagrach i soicindí agus i milleasoicindí araon.
  4. Féach ar an stampa ama reatha ag an mbarr, a nuashonraítear beo, aon uair a theastaíonn “anois” uait mar luach epoch.

Cad is stampa ama Unix ann?

Is é stampa ama Unix, ar a dtugtar am epoch nó am POSIX freisin, líon na soicindí a chuaigh thart ón epoch Unix: 1 Eanáir 1970 ag 00:00:00 UTC. Mar shampla, comhfhreagraíonn 1700000000 do 14 Samhain 2023 ag 22:13:20 UTC. Léirítear dátaí roimh 1970 le huimhreacha diúltacha.

Is breá le forbróirí stampaí ama mar is uimhir amháin iad nach mbraitheann ar chriosanna ama, ar am sábhála solais lae ná ar fhormáidí dáta. Is dealú simplí é dhá nóiméad a chur i gcomparáid, agus is sórtáil uimhriúil shimplí é sórtáil de réir ama. Gheobhaidh tú iad i mbunachair sonraí, i gcomhaid logála, i bhfreagraí API, in éilimh JWT ar nós exp agus iat, i meiteashonraí comhad agus i sceidealóirí cosúil le cron.

Tabhair faoi deara go ndéanann am Unix neamhaird de shoicindí bisigh: áirítear gach lá mar 86,400 soicind go díreach. Coinníonn sé sin an uimhríocht simplí agus is é sin an fáth nach comhaireamh docht é stampa ama de gach soicind fisiciúil ó 1970.

Soicindí i gcomparáid le milleasoicindí

Is é an t-aonad an chúis mearbhaill is minice. Úsáideann córais thraidisiúnta Unix, PHP, time.time() Python agus formhór na mbunachar sonraí soicindí, a thugann uimhir 10 ndigit sa lá atá inniu ann. Úsáideann Date.now() JavaScript, System.currentTimeMillis() Java agus go leor API JSON milleasoicindí, a thugann uimhir 13 dhigit. Má léann tú milleasoicindí mar shoicindí, tiocfaidh tú ar dhátaí na mílte bliain sa todhchaí; má léann tú soicindí mar mhilleasoicindí, tiocfaidh tú ar Eanáir 1970. Féachann an uirlis seo ar mhéid an uimhir chun an t-aonad ceart a roghnú go huathoibríoch, agus nuair a thiontaítear dáta, taispeánann sí an dá luach ionas gur féidir leat an ceann a bhfuil do chóras ag súil leis a chóipeáil.

Am áitiúil, UTC agus ISO 8601

Sainaithníonn stampa ama nóiméad beacht amháin, ach taispeántar an nóiméad sin ar bhealach difriúil de réir an chriosa ama. Úsáideann an toradh áitiúil an crios ama a chumraítear ar do ghléas, agus is é UTC an tagairt uilíoch a úsáideann freastalaithe agus logaí. Is é ISO 8601, ar nós 2023-11-14T22:13:20.000Z, an fhormáid téacs gan débhríocht a mholtar chun dátaí a mhalartú idir córais; ciallaíonn an Z ag an deireadh UTC.

Fadhb na bliana 2038

Stórálann go leor seanchóras am Unix mar shlánuimhir shínithe 32-ghiotán, arb é 2,147,483,647 a huasluach. Baintear an teorainn sin amach ar 19 Eanáir 2038 ag 03:14:07 UTC. Soicind ina dhiaidh sin, cuireann a leithéid de chuntar thar maoil go dtí uimhir dhiúltach mhór agus léitear é mar dháta i Nollaig 1901. Tá córais oibriúcháin, bunachair sonraí agus teangacha nua-aimseartha bogtha den chuid is mó go luachanna ama 64-ghiotán, a bhogann an teorainn billiúin bliain isteach sa todhchaí, ach d’fhéadfadh gléasanna leabaithe, seanfhormáidí comhad agus seancholúin bunachar sonraí a bheith buailte fós. Níl JavaScript féin buailte, mar stórálann sé am mar mhilleasoicindí in uimhir snámhphointe 64-ghiotán.

Príobháideacht

Tarlaíonn gach tiontú i do bhrabhsálaí le feidhmeanna dáta ionsuite. Ní sheoltar aon stampaí ama ná dátaí chuig freastalaí.

Ceisteanna coitianta

Conas a bheidh a fhios agam an bhfuil mo stampa ama i soicindí nó i milleasoicindí?

Comhair na digití. Tá dáta reatha 10 ndigit i soicindí agus 13 dhigit i milleasoicindí. Cuireann an uirlis an loighic chéanna i bhfeidhm go huathoibríoch, bunaithe ar mhéid an uimhir.

Cén fáth a bhfuil an t-am áitiúil difriúil ó UTC?

Déanann an bheirt cur síos ar an nóiméad céanna. Cuireann am áitiúil fritháireamh chriosa ama do ghléis agus rialacha am sábhála solais lae i bhfeidhm, agus níl aon fhritháireamh ag UTC. Má roinneann tú am le daoine in áiteanna eile, seachnaíonn UTC nó ISO 8601 míthuiscintí.

An féidir le stampa ama Unix a bheith diúltach?

Is féidir. Léiríonn luachanna diúltacha nóiméid roimh 1 Eanáir 1970 UTC. Mar shampla, is é -86400 31 Nollaig 1969 ag 00:00:00 UTC.

An bhfuil crios ama i stampa ama Unix?

Níl. Bíonn stampa ama i gcónaí coibhneasta le UTC agus ní iompraíonn sé aon fhaisnéis chriosa ama. Ní thagann an crios ama i gceist ach nuair a thaispeánann tú é mar dháta féilire agus am.

An mbrisfidh mo chórais in 2038?

Ach amháin má stórálann siad am i slánuimhir shínithe 32-ghiotán. Seiceáil seanbhunachair sonraí, firmware leabaithe agus formáidí comhad dénártha. Tá aon rud a úsáideann am 64-ghiotán sábháilte don todhchaí intuigthe.