Trosi stamp amser Unix yn ddyddiad a dyddiad yn stamp amser
Cyhoeddwyd · Diweddarwyd 2 munud o ddarllen
Mae stamp amser Unix yn cyfrif yr amser a aeth heibio ers hanner nos 1 Ionawr 1970 mewn amser cyffredinol. Mae dau gwestiwn yn penderfynu’r dyddiad canlyniadol: uned y rhif a’r parth amser y darllenwch y canlyniad ynddo.
Gwerth cyfeirio
Mae Trosi stamp amser Unix yn rhoi tri darlleniad o’r un eiliad. Ar gyfer 1700000000, gyda phorwr wedi’i osod i amser Paris:
| Darlleniad | Canlyniad |
|---|---|
| Dyddiad UTC | Tue, 14 Nov 2023 22:13:20 GMT |
| Dyddiad lleol | 14 Tachwedd 2023 am 23:13:20 UTC+1 |
| ISO | 2023-11-14T22:13:20.000Z |
Mae’r amser lleol yn dilyn parth amser y porwr: awr yn ychwanegol ym Mharis yn y gaeaf. Mae’r un stamp amser yn un eiliad, wedi’i ddarllen mewn dau barth amser.
Adnabyddir yr uned yn ôl nifer y digidau
Mae’r gosodiad rhagosodedig yn adnabod yr uned o hyd y rhif. Mae’r tri gwerth isod yn dynodi’r un foment, hyd at y manylder.
| Rhif | Digidau | Uned a adnabuwyd | Moment a gafwyd |
|---|---|---|---|
| 1700000000 | 10 | Eiliadau | 14 Tach 2023, 22:13:20 UTC |
| 1700000000000 | 13 | Milieiliadau | 14 Tach 2023, 22:13:20 UTC |
| 1700000000123456 | 16 | Microeiliadau | 14 Tach 2023, 22:13:20.123 UTC |
Y rheol: hyd at 11 digid, eiliadau; o 12 i 14, milieiliadau; 15 ac 16, microeiliadau. Mae’r gosodiad «milieiliadau» yn gorfodi’r uned honno.
Magl y rheol
Gan fod yr uned yn cael ei thynnu o’r hyd, darllenir gwerth amwys mewn un ffordd: mae 10000000000 (11 digid) yn rhoi 20 Tachwedd 2286, ac mae 100000000000 (12 digid) yn rhoi 3 Mawrth 1973. Mae gan stamp amser mewn milieiliadau cyn Mawrth 1973 11 digid neu lai, a byddai’n cael ei ddarllen fel eiliadau: gorfodwch felly’r gosodiad «milieiliadau».
Gwerthoedd cyn 1970 a therfyn 2038
Mae rhif negyddol yn dynodi moment cyn 1970: mae −1 yn rhoi 31 Rhagfyr 1969 am 23:59:59 UTC, ac mae 0 yn rhoi 1 Ionawr 1970 am hanner nos.
Y rhif 2147483647 yw’r mwyaf y gall cyfanrif 32 did â llofnod ei ddal: mae’n rhoi 19 Ionawr 2038 am 03:14:07 UTC. Mae’r rhif nesaf, 2147483648, yn rhoi 03:14:08: mae’r teclyn yn parhau heb derfyn, ond ni all system sy’n storio amser mewn 32 did.
Trosi dyddiad yn stamp amser
Rhowch ddyddiad yn lle rhif: mae’r teclyn yn rhoi’r stamp amser mewn eiliadau ac mewn milieiliadau.
| Mewnbwn | Stamp amser mewn eiliadau | Darlleniad |
|---|---|---|
| 2026-01-01 | 1767225600 | Hanner nos mewn amser cyffredinol, dim parth amser a roddwyd |
| 2026-01-01T10:30:00+01:00 | 1767259800 | 10:30 ym Mharis, hynny yw 09:30 mewn amser cyffredinol |
| 2024-02-29 | 1709164800 | Blwyddyn naid wedi’i derbyn |
Darllenir dyddiad heb barth amser mewn amser cyffredinol, nid amser lleol: mae’r teclyn yn dweud hynny yn y canlyniad. Gwrthodir dyddiad nad yw’n bodoli, fel 30 Chwefror 2026, gyda neges.
Camgymeriadau cyffredin
- Darllen milieiliadau fel eiliadau: mae’r dyddiad yn disgyn filoedd o flynyddoedd yn rhy bell.
- Anghofio’r parth amser: mae dyddiad a ddarllenwyd fel un lleol yna’i anfon fel un cyffredinol yn symud awr neu fwy.
- Ysgrifennu dyddiad heb barth amser gan feddwl am amser lleol, pan gaiff ei ddarllen mewn UTC.
I gyfrif y diwrnodau rhwng dau ddyddiad, gweler Cyfrif y diwrnodau rhwng dau ddyddiad.
Gwirio trosiad
- Ailddarllenwch y llinell UTC, nad yw’n dibynnu ar y ddyfais.
- Gwiriwch yr uned a gyhoeddir ar linell gyntaf y canlyniad.
- Trowch y dyddiad canlyniadol yn ôl: dylech gael y rhif cychwynnol yn ôl.
