Sa eshte ora? Si sistemet tona shfaqin, llogaritin, formatojnë dhe sinkronizojnë datat dhe orët
Kjo tingëllon si një pyetje e thjeshtë, por do të habiteshit se sa komplekse ju ofron infrastruktura një kohë të saktë. Kur përdoruesit tuaj ekzistojnë nëpër zona kohore ose madje udhëtojnë nëpër zona kohore ndërsa përdorin sistemet tuaja, ekziston një pritshmëri që gjithçka të funksionojë pa probleme.
Por nuk është e thjeshtë.
Shembull: Ju keni një punonjës në Phoenix i cili duhet të caktojë një email për orën 8:00 të mëngjesit të së hënës për kompaninë e tij në Los Anxhelos. Phoenix nuk përshtatet për kohën e kursimit të ditës; Los Angeles po. Po për marrësit? A duhet ta marrin emailin në orën 8:00 të mëngjesit të së hënës në zonën e tyre kohore përkatëse? Apo abonentët në Nju Jork do të marrin emailin e tyre në orën 11:00 EST të hënën?
Si shfaqet koha në kompjuterin tuaj
- Operimit të Sistemit (OS) – Sistemi juaj operativ shikon kohën nga ora e tij në kohë reale (RTC). Ai rregullon formatin e datës për vendndodhjen tuaj dhe orën për zonën tuaj të përshtatshme kohore, zakonisht të përcaktuar nga vendndodhja e pajisjes suaj.
- Formatet e datës – Ekzistojnë disa formate të zakonshme të datave, duke përfshirë:
- Data e kalendarit Gregorian (VVVV-MM-DD), p.sh. 2022-02-08
- Data e stilit të Shteteve të Bashkuara (MM/DD/VVVV), p.sh. 02/08/2022
- Data e stilit evropian (DD/MM/VVVV), p.sh. 08/02/2022
- Zonat Koha – Ka 24 zona kohore në botë, secila afërsisht 15 gradë gjatësi nga tjetra. Zonat kohore e ndajnë botën në rajone me të njëjtën kohë standarde, në mënyrë që njerëzit në secilën zonë kohore të kenë një kohë të përbashkët për aktivitetet e tyre të përditshme.
- Koha e Kursimit të Ditës – Në rajonet që respektojnë kohën e kursimit të ditës, orët vendosen me një orë përpara në pranverë dhe një orë prapa në vjeshtë. Kjo rezulton në një orë shtesë të ditës në mbrëmje gjatë muajve të verës, por gjithashtu do të thotë që dielli lind dhe perëndon një orë më herët në mëngjes dhe mbrëmje, përkatësisht gjatë muajve të dimrit.
- Formatet e datës – Ekzistojnë disa formate të zakonshme të datave, duke përfshirë:
- Ora në kohë reale (RTC) – kompjuteri juaj ruan kohën, edhe kur është i fikur, duke përdorur një çip të njohur si RTC. Kur nuk ndizet me energji, një bateri e vogël litiumi e mban çipin të shëndoshë (punon fjalë për fjalë) dhe mund ta fuqizojë atë deri në një dekadë pa karikim.
- Protokolli i Kohës së Rrjetit (NTP) – kur sistemet operative kanë një lidhje të vendosur me internetin, ata përdorin NTP për të sinkronizuar orët e tyre me një grup serverësh kohorë, duke përfshirë ato të ofruara nga Protokolli i Kohës së Rrjetit. Si parazgjedhje, Windows sinkronizohet me serverët NTP një herë në 7 ditë, ndërsa macOS sinkronizohet një herë në orë. NTP-të ruajnë kohën e tyre duke përdorur kohën e koordinuar universale (UTC). Kur një klient kërkon kohën aktuale nga një server NTP, serveri përgjigjet me një vlerë 64-bit që përfaqëson numrin e sekondave që nga 1 janari 1900, në orën 00:00:00 UTC.
- Koha Universale e Koordinuar (UTC) – një kohë e standardizuar e përdorur si bazë për të gjithë matjen e kohës në botë. Ai bazohet në Kohën Ndërkombëtare Atomike (TAI), e cila mat kohën mesatare të kaluar midis dy pikave specifike në orbitat e Hënës së Tokës. UTC u zbatua për herë të parë në 1972 si pasardhës i TAI dhe Greenwich Mean Time (GMT). UTC mbahet brenda 0.9 sekondave të shkallës kohore TAI dhe saktësia e saj ruhet nga përdorimi i orëve atomike dhe teknologjive të tjera të matjes së kohës.
- 24 zonat kohore UTC ndahen në ofset kategoritë ku çdo kompensim është rregullimi për kohën e duhur në orë: UTC-12, UTC-11, UTC-10, UTC-9, UTC-8, UTC-7, UTC-6, UTC-5, UTC-4, UTC-3, UTC-2, UTC-1, UTC, UTC+1, UTC+2, UTC+3, UTC+4, UTC+5, UTC+6, UTC+7, UTC+8, UTC+9, UTC+10 dhe UTC+11.
- Koha Ndërkombëtare Atomike (TAI) – një standard kohor që bazohet në kohën mesatare të kaluar midis dy pikave specifike në orbitat e hënës së Tokës. TAI është një nga shkallët kohore më të sakta dhe më të qëndrueshme në dispozicion, dhe mirëmbahet nga Byroja Ndërkombëtare e Peshave dhe Masave.
- Orët atomike – janë matëse shumë të sakta që përdorin dridhjet natyrore të atomeve për të matur kohën. Lloji më i zakonshëm i orës atomike është ora atomike e ceziumit, e cila përdor dridhjet e atomeve të ceziumit për të mbajtur kohën. Saktësia e një ore atomike ruhet nga qëndrueshmëria e frekuencës së rrezatimit elektromagnetik të emetuar nga atomet e ceziumit. Kjo frekuencë është aq e qëndrueshme sa ndryshon vetëm me një fraksion të sekondës gjatë mijëra viteve. Frekuenca e rrezatimit elektromagnetik më pas krahasohet me një oshilator kuarci, i cili përdoret për të kontrolluar një numërues. Numëruesi numëron numrin e cikleve të rrezatimit elektromagnetik, dhe ky numërim përdoret për të llogaritur kohën. Numëruesi korrigjohet vazhdimisht për të siguruar që të mbetet në sinkron me dridhjet e atomeve të ceziumit.
Sistemet moderne shpesh regjistrojnë kohë si Unix Timestamps. Një stamp kohor Unix është një paraqitje numerike e një pike specifike në kohë, e matur si numri i sekondave që kanë kaluar që nga 1 janari 1970, në orën 00:00:00 UTC. Vula kohore Unix përdoren gjerësisht në sistemet kompjuterike sepse janë të thjeshta për t'u punuar dhe mund të krahasohen, renditen dhe manipulohen lehtësisht. Ato janë gjithashtu të pavarura nga zonat kohore, që do të thotë se ato ofrojnë një përfaqësim të standardizuar të kohës që mund të përdoret në rajone të ndryshme gjeografike.
Pra... kur kontrolloni kohën, po shfaqni
Puna me datat në PHP
Kam shkruar më parë se si shfaqni në mënyrë programore vitin për deklaratën tuaj të së drejtës së autorit në mënyrë që të mos keni nevojë të vazhdoni ta përditësoni çdo vit. Megjithatë, ka shumë më tepër që mund të bëni me takimet. Ketu jane disa shembuj:
Shfaq datën si 2023-02-08:
$current_date = date("Y-m-d");
echo $current_date;
Shfaq datën si vulë kohore 1612684800:
$timestamp = strtotime("2023-02-08");
echo $timestamp;
Shfaq datën dhe orën e formatuar në UTC në vend të zonës kohore lokale si 2023-02-08 15:25:00:
$utc_date = gmdate("Y-m-d H:i:s");
echo $utc_date;
Shfaq vulën kohore aktuale të Unix si 1612742153:
$current_timestamp = time();
echo $current_timestamp;
Paracaktoni zonën kohore për në Los Angeles dhe më pas shfaqni datën dhe orën si 2023-02-08 07:25:00:
date_default_timezone_set("America/Los_Angeles");
$date = date("Y-m-d H:i:s");
echo $date;
Organizimi i karaktereve të formatit të datës PHP në grupe logjike, me secilin grup sipas rendit alfabetik dhe karakteret e formatit si nën-plumba:
- ditë
d
– Dita e muajit, 2 shifra me zerat kryesore (01 deri në 31). Shembull:15
D
– Një paraqitje tekstuale e një dite, me tre shkronja (e hëna në diell). Shembull:Thu
j
– Dita e muajit pa zero kryesore (1 deri në 31). Shembull:15
l
(me shkronja të vogla 'L') – Një paraqitje e plotë tekstuale e ditës së javës (e diel deri të shtunën). Shembull:Thursday
S
– Prapashtesa rendore angleze për ditën e muajit, 2 karaktere (st, nd, rd ose th). Shembull:th
w
– Paraqitja numerike e ditës së javës (0 (për të dielën) deri në 6 (për të shtunën)). Shembull:4
z
– Dita e vitit (duke filluar nga 0). Shembulli për datën aktuale mund të mos jetë i saktë pa llogaritjet e sakta.
- Muaj
F
– Një paraqitje e plotë tekstuale e një muaji (janar deri në dhjetor). Shembull:February
m
– Paraqitja numerike e një muaji, me zero kryesore (01 deri në 12). Shembull:02
M
– Një paraqitje e shkurtër tekstuale e një muaji, me tre shkronja (nga janari deri në dhjetor). Shembull:Feb
n
– Paraqitja numerike e një muaji, pa zero kryesore (1 deri në 12). Shembull:2
t
– Numri i ditëve në muajin e caktuar (28 deri në 31). Shembull:28
- javë
W
– ISO-8601 numri i javës së vitit, javë që fillojnë të hënën (Shembull: 42, java e 42-të e vitit). Shembulli për datën aktuale mund të mos jetë i saktë pa llogaritjet e sakta.
- Viti
o
– ISO-8601-viti i numërimit të javëve. Kjo ka të njëjtën vlerë si Y, përveç se nëse numri ISO i javës (W) i përket vitit të mëparshëm ose të ardhshëm, në vend të tij përdoret ai vit. Shembull:2024
Y
– Një paraqitje e plotë numerike e një viti, me 4 shifra. Shembull:2024
y
– Një paraqitje dyshifrore e një viti. Shembull:24
- Ora
T
– Shkurtesa e zonës kohore. Shembull:EST
e
– Identifikuesi i zonës kohore. Shembull:America/New_York
P
– Dallimi në kohën e Greenwich (GMT) me dy pika midis orëve dhe minutave. Shembull:-04:00
O
- Dallimi në kohën e Greenwich (GMT) pa dy pika midis orëve dhe minutave. Shembull:-0400
Z
– Zhvendosja e zonës kohore në sekonda. Kompensimi për zonat kohore në perëndim të UTC është gjithmonë negativ, dhe për ato në lindje të UTC është gjithmonë pozitiv. Shembull:-14400 (for EST)
Çdo gjuhë ka funksionet e saj për të punuar me UTC, vulat kohore, formatet e ekranit, zonat kohore dhe orën e kursimit të ditës. Nëse jeni duke zhvilluar një platformë, do të dëshironi t'i kushtoni shumë vëmendje mënyrës se si po ruani të dhënat e bazuara në kohë, si dhe se si po i formatoni dhe shfaqni ato. Nëse jeni një biznes, do të dëshironi të siguroni që platformat tuaja të mund të menaxhojnë punën në zonat kohore, të shfaqin formatet e duhura për përdoruesit tuaj, si dhe të menaxhojnë rregullimet e kohës së kursimit të ditës.
Pra… Sa është ora?
Sistemi im operativ po formaton datën dhe orën si 18 Mars 2024, 4:40. Ora është rregulluar nga një vulë kohore Unix në zonën time kohore, e rregulluar për kohën e kursimeve ditore. Ajo kohë është sinkronizuar në orën e fundit nga MacOS me një server NTP që është në UTC dhe është rregulluar për të mbajtur brenda 0.9 sekondave me TAI dhe orët atomike. E gjithë kjo, sigurisht, është një kohë e saktë e dhënë për vendndodhjen time në lidhje me Tokën, Hënën dhe Diellin… e rregulluar për kohën e kursimeve ditore.