Unix-aikaleiman muunnin päivämääräksi: 12/24 tunnin formaatin tuki
Muunna Unix-aikaleimat ihmisen luettaviksi päivämääriksi ja ajoiksi. Valitse 12-tunnin ja 24-tunnin aikamuotojen välillä tämän yksinkertaisen, käyttäjäystävällisen muunnintyökalun avulla.
Unix-aikaleiman muunnin
Muunnettu päivämäärä ja aika
Dokumentaatio
Unix-aikaleiman muunnin
Johdanto
Unix-aikaleima (tunnetaan myös nimellä POSIX-aika tai Epoch-aika) on järjestelmä ajan kuvaamiseen. Se on sekuntien määrä, joka on kulunut tammikuun 1. päivästä 1970 (keskiyöllä UTC/GMT), huomioimatta karkaussekunteja. Unix-aikaleimoja käytetään laajalti tietokonejärjestelmissä ja ohjelmointikielissä, koska ne tarjoavat kompaktin, kieliriippumattoman esityksen tietystä hetkestä ajassa.
Tämä muunnin mahdollistaa Unix-aikaleiman muuttamisen ihmisen luettavaksi päivämäärä- ja aikamuodoksi. Se tukee sekä 12 tunnin (AM/PM) että 24 tunnin aikamuotoja eri alueellisten ja henkilökohtaisten mieltymysten mukaisesti.
Kuinka Unix-aikaleimat toimivat
Unix-aikaleimat lasketaan sekuntien määrästä Unix-epookista (1. tammikuuta 1970, 00:00:00 UTC). Tämä tekee niistä erityisen hyödyllisiä aikavälin laskemiseen ja päivämäärien tallentamiseen kompaktissa muodossa.
Matemaattinen muunnos Unix-aikaleimasta kalenteripäivämääräksi sisältää useita vaiheita:
- Aloita Unix-epookista (1. tammikuuta 1970, 00:00:00 UTC)
- Lisää aikaleimassa oleva sekuntimäärä
- Ota huomioon karkausvuodet, vaihteleva kuukausien pituus ja muut kalenterin monimutkaisuudet
- Tee aikavyöhykemuutoksia tarvittaessa
Esimerkiksi Unix-aikaleima 1609459200
edustaa perjantaita, 1. tammikuuta 2021, 00:00:00 UTC.
Muunna kaava voidaan ilmaista seuraavasti:
Useimmat ohjelmointikielet ja käyttöjärjestelmät tarjoavat sisäänrakennettuja toimintoja tämän muunnoksen käsittelemiseksi, piilottaen monimutkaiset kalenterilaskelmat.
Aikamuoto- vaihtoehdot
Tämä muunnin tarjoaa kaksi aikamuoto vaihtoehtoa:
-
24 tunnin muoto (jota joskus kutsutaan "sotilasaikamuodoksi"): Tunnit vaihtelevat 0:sta 23:een, eikä AM/PM-merkintää ole. Esimerkiksi kello 15:00 esitetään muodossa 15:00.
-
12 tunnin muoto: Tunnit vaihtelevat 1:stä 12:een, AM (ante meridiem) tarkoittaa aikaa keskiyöstä keskipäivään, ja PM (post meridiem) tarkoittaa aikaa keskipäivästä keskiyöhön. Esimerkiksi 15:00 24 tunnin muodossa esitetään kello 3:00 PM.
Valinta näiden muotojen välillä on pääasiassa alueellisten käytäntöjen ja henkilökohtaisten mieltymysten kysymys:
- 24 tunnin muotoa käytetään yleisesti suurimmassa osassa Eurooppaa, Latinalaisessa Amerikassa ja Aasiassa, sekä tieteellisissä, sotilaallisissa ja lääketieteellisissä yhteyksissä ympäri maailmaa.
- 12 tunnin muoto on yleinen Yhdysvalloissa, Kanadassa, Australiassa ja joissakin muissa englanninkielisissä maissa jokapäiväisessä käytössä.
Rajatapaukset ja rajoitukset
Työskennellessäsi Unix-aikaleimojen kanssa on tärkeää olla tietoinen useista rajatapauksista ja rajoituksista:
-
Negatiiviset aikaleimat: Nämä edustavat päivämääriä ennen Unix-epookkia (1. tammikuuta 1970). Vaikka ne ovat matemaattisesti päteviä, jotkut järjestelmät eivät välttämättä käsittele negatiivisia aikaleimoja oikein.
-
Vuoden 2038 ongelma: Unix-aikaleimat tallennetaan usein 32-bittisinä allekirjoitettuina kokonaislukuina, mikä ylittyy 19. tammikuuta 2038. Tämän jälkeen 32-bittiset järjestelmät eivät pysty esittämään aikoja oikein, ellei niitä muuteta käyttämään suurempaa kokonaislukutyyppiä.
-
Erittäin suuret aikaleimat: Erittäin kaukaiset tulevaisuuden päivämäärät eivät ehkä ole esitettävissä joissakin järjestelmissä tai niitä saatetaan käsitellä epäjohdonmukaisesti.
-
Karkaussekunnit: Unix-aika ei ota huomioon karkaussekunteja, joita lisätään satunnaisesti UTC:hen maapallon epäsäännöllisen pyörimisen kompensoimiseksi. Tämä tarkoittaa, että Unix-aika ei ole tarkasti synkronoitu astronomiseen aikaan.
-
Aikavyöhykkeen huomioiminen: Unix-aikaleimat edustavat hetkiä UTC:ssä. Paikalliseen aikaan muuntaminen vaatii lisätietoa aikavyöhykkeistä.
-
Kesäaika: Kun aikaleimoja muunnetaan paikalliseen aikaan, on otettava huomioon kesäajan siirtymien monimutkaisuudet.
Käyttötapaukset
Unix-aikaleimoja käytetään monissa sovelluksissa tietojenkäsittelyssä ja tietojen hallinnassa:
-
Tietokantarekisterit: Aikaleimoja käytetään yleisesti tallentamaan, milloin merkinnät on luotu tai muutettu.
-
Verkkokehitys: HTTP-otsikot, evästeet ja välimuistimekanismit käyttävät usein Unix-aikaleimoja.
-
Lokitiedostot: Järjestelmän lokit tallentavat yleensä tapahtumat Unix-aikaleimoilla tarkan aikajärjestyksen saavuttamiseksi.
-
Versionhallintajärjestelmät: Git ja muut VCS:t käyttävät aikaleimoja tallentaakseen, milloin sitoumukset on tehty.
-
API-vastaukset: Monet verkkosovellusrajapinnat sisältävät aikaleimoja vastauksissaan osoittaakseen, milloin tiedot on luotu tai milloin resursseja on viimeksi muutettu.
-
Tiedostojärjestelmät: Tiedostojen luonti- ja muokkausaikoja tallennetaan usein Unix-aikaleimoina.
-
Istunnon hallinta: Verkkosovellukset käyttävät aikaleimoja määrittääkseen, milloin käyttäjäistunnot tulisi päättää.
-
Tietoanalyysi: Aikaleimat tarjoavat standardoidun tavan työskennellä aikaperusteisten tietojen kanssa analytiikkasovelluksissa.
Vaihtoehdot
Vaikka Unix-aikaleimat ovat laajalti käytössä, on olemassa vaihtoehtoisia aikamuotoja, jotka voivat olla sopivampia tietyissä konteksteissa:
-
ISO 8601: Standardoitu merkkijonomuoto (esim. "2021-01-01T00:00:00Z"), joka on ihmisen luettavissa mutta säilyttää lajittelun. Sitä käytetään usein tietojen vaihdossa ja käyttäjäystävällisissä sovelluksissa.
-
RFC 3339: ISO 8601:n profiili, jota käytetään internetprotokollissa, tiukemmilla muotoiluvaatimuksilla.
-
Ihmisen luettavat muodot: Paikalliset päivämäärämerkit (esim. "1. tammikuuta 2021") ovat sopivampia suoraan käyttäjävuorovaikutukseen, mutta vähemmän soveltuvia laskentaan.
-
Microsoft FILETIME: 64-bittinen arvo, joka edustaa 100 nanosekunnin välejä tammikuun 1. päivästä 1601, jota käytetään Windows-järjestelmissä.
-
Julian Day Number: Käytetään tähtitieteessä ja joissakin tieteellisissä sovelluksissa, lasketaan päiviä tammikuun 1. päivästä 4713 eaa.
Aikamuodon valinta riippuu tekijöistä, kuten:
- Tarvittava tarkkuus
- Ihmisen luettavuuden tarpeet
- Tallennusrajoitukset
- Yhteensopivuus olemassa olevien järjestelmien kanssa
- Päivämäärien alue, joka on esitettävä
Historia
Unix-aikakäsitteen alkuperä juontaa juurensa Unix-käyttöjärjestelmän kehittämiseen Bell Labsissa 1960- ja 1970-luvuilla. Päätös käyttää tammikuun 1. päivää 1970 epookkina oli jossain määrin satunnainen, mutta käytännöllinen tuolloin – se oli riittävän lähellä vähentämään tallennustarpeita kiinnostavista päivämääristä, mutta tarpeeksi kaukana menneisyydessä ollakseen hyödyllinen historiallisten tietojen kannalta.
Alkuperäinen toteutus käytti 32-bittistä allekirjoitettua kokonaislukua sekuntien tallentamiseen, mikä oli riittävä Unix-järjestelmien odotetulle elinkaarelle tuolloin. Tämä päätös johti kuitenkin vuoden 2038 ongelmaan (jota joskus kutsutaan "Y2K38" tai "Unixin vuosituhatbugi"), sillä 32-bittiset allekirjoitetut kokonaisluvut voivat edustaa vain päivämääriä tammikuun 19. päivään 2038 asti (03:14:07 UTC).
Kun Unix ja Unix-tyyppiset käyttöjärjestelmät saivat suosiota, Unix-aikaleimasta tuli de facto -standardi ajan esittämiseen tietojenkäsittelyssä. Sitä käyttivät lukuisat ohjelmointikielet, tietokannat ja sovellukset, laajentuen kauas alkuperäisestä Unix-ympäristöstään.
Nykyiset järjestelmät käyttävät yhä enemmän 64-bittisiä kokonaislukuja aikaleimoissa, mikä laajentaa esitettävän alueen noin 292 miljardiin vuoteen molempiin suuntiin epookista, ratkaisten käytännössä vuoden 2038 ongelman. Kuitenkin vanhat järjestelmät ja sovellukset voivat silti olla alttiita.
Unix-aikaleiman yksinkertaisuus ja hyödyllisyys ovat varmistaneet sen jatkuvan merkityksen huolimatta kehittyneistä aikamuotojen esityksistä. Se pysyy keskeisenä käsitteenä tietojenkäsittelyssä, joka on perustana suurelle osalle digitaalista infrastruktuuria.
Koodiesimerkit
Tässä on esimerkkejä siitä, kuinka Unix-aikaleimoja muunnetaan ihmisen luettaviksi päivämääriksi eri ohjelmointikielissä:
1// JavaScript aikaleiman muunnos
2function convertUnixTimestamp(timestamp, use12Hour = false) {
3 // Luo uusi Date-objekti (JavaScript käyttää millisekunteja)
4 const date = new Date(timestamp * 1000);
5
6 // Muotoiluvaihtoehdot
7 const options = {
8 year: 'numeric',
9 month: 'long',
10 day: 'numeric',
11 weekday: 'long',
12 hour: use12Hour ? 'numeric' : '2-digit',
13 minute: '2-digit',
14 second: '2-digit',
15 hour12: use12Hour
16 };
17
18 // Muunna merkkijonoksi paikallisen muotoilun avulla
19 return date.toLocaleString(undefined, options);
20}
21
22// Esimerkkikäyttö
23const timestamp = 1609459200; // 1. tammikuuta 2021 00:00:00 UTC
24console.log(convertUnixTimestamp(timestamp, false)); // 24 tunnin muoto
25console.log(convertUnixTimestamp(timestamp, true)); // 12 tunnin muoto
26
1# Python aikaleiman muunnos
2import datetime
3
4def convert_unix_timestamp(timestamp, use_12hour=False):
5 # Muunna Unix-aikaleima datetime-objektiksi
6 date = datetime.datetime.fromtimestamp(timestamp)
7
8 # Muotoile päivämäärämerkkijono
9 if use_12hour:
10 format_string = "%A, %B %d, %Y %I:%M:%S %p" # 12 tunnin muoto AM/PM
11 else:
12 format_string = "%A, %B %d, %Y %H:%M:%S" # 24 tunnin muoto
13
14 return date.strftime(format_string)
15
16# Esimerkkikäyttö
17timestamp = 1609459200 # 1. tammikuuta 2021 00:00:00 UTC
18print(convert_unix_timestamp(timestamp, False)) # 24 tunnin muoto
19print(convert_unix_timestamp(timestamp, True)) # 12 tunnin muoto
20
1<?php
2// PHP aikaleiman muunnos
3function convertUnixTimestamp($timestamp, $use12Hour = false) {
4 // Muotoilumerkkijono
5 $formatString = $use12Hour
6 ? 'l, F j, Y g:i:s A' // 12 tunnin muoto AM/PM
7 : 'l, F j, Y H:i:s'; // 24 tunnin muoto
8
9 // Muunna ja muotoile päivämäärä
10 return date($formatString, $timestamp);
11}
12
13// Esimerkkikäyttö
14$timestamp = 1609459200; // 1. tammikuuta 2021 00:00:00 UTC
15echo convertUnixTimestamp($timestamp, false) . "\n"; // 24 tunnin muoto
16echo convertUnixTimestamp($timestamp, true) . "\n"; // 12 tunnin muoto
17?>
18
1// Java aikaleiman muunnos
2import java.time.Instant;
3import java.time.LocalDateTime;
4import java.time.ZoneId;
5import java.time.format.DateTimeFormatter;
6
7public class UnixTimestampConverter {
8 public static String convertUnixTimestamp(long timestamp, boolean use12Hour) {
9 // Muunna Unix-aikaleima Instant-muotoon, sitten LocalDateTime-muotoon
10 Instant instant = Instant.ofEpochSecond(timestamp);
11 LocalDateTime dateTime = LocalDateTime.ofInstant(instant, ZoneId.systemDefault());
12
13 // Luo muotoilija halutun muodon mukaan
14 DateTimeFormatter formatter = DateTimeFormatter.ofPattern(
15 use12Hour ? "EEEE, MMMM d, yyyy h:mm:ss a" : "EEEE, MMMM d, yyyy HH:mm:ss"
16 );
17
18 // Muotoile päivämäärä
19 return dateTime.format(formatter);
20 }
21
22 public static void main(String[] args) {
23 long timestamp = 1609459200; // 1. tammikuuta 2021 00:00:00 UTC
24 System.out.println(convertUnixTimestamp(timestamp, false)); // 24 tunnin muoto
25 System.out.println(convertUnixTimestamp(timestamp, true)); // 12 tunnin muoto
26 }
27}
28
1// C# aikaleiman muunnos
2using System;
3
4class UnixTimestampConverter
5{
6 public static string ConvertUnixTimestamp(long timestamp, bool use12Hour)
7 {
8 // Muunna Unix-aikaleima DateTime-muotoon
9 // Unix-aikaleima on sekunteja 1. tammikuuta 1970 jälkeen
10 DateTime dateTime = DateTimeOffset.FromUnixTimeSeconds(timestamp).DateTime;
11
12 // Muotoilumerkkijono 12 tunnin tai 24 tunnin mieltymyksen mukaan
13 string formatString = use12Hour
14 ? "dddd, MMMM d, yyyy h:mm:ss tt" // 12 tunnin muoto AM/PM
15 : "dddd, MMMM d, yyyy HH:mm:ss"; // 24 tunnin muoto
16
17 // Palauta muotoiltu päivämäärämerkkijono
18 return dateTime.ToString(formatString);
19 }
20
21 static void Main()
22 {
23 long timestamp = 1609459200; // 1. tammikuuta 2021 00:00:00 UTC
24 Console.WriteLine(ConvertUnixTimestamp(timestamp, false)); // 24 tunnin muoto
25 Console.WriteLine(ConvertUnixTimestamp(timestamp, true)); // 12 tunnin muoto
26 }
27}
28
1# Ruby aikaleiman muunnos
2require 'time'
3
4def convert_unix_timestamp(timestamp, use_12hour = false)
5 # Muunna Unix-aikaleima Time-objektiksi
6 time = Time.at(timestamp)
7
8 # Muotoile 12 tunnin tai 24 tunnin mieltymyksen mukaan
9 if use_12hour
10 time.strftime("%A, %B %d, %Y %I:%M:%S %p") # 12 tunnin muoto AM/PM
11 else
12 time.strftime("%A, %B %d, %Y %H:%M:%S") # 24 tunnin muoto
13 end
14end
15
16# Esimerkkikäyttö
17timestamp = 1609459200 # 1. tammikuuta 2021 00:00:00 UTC
18puts convert_unix_timestamp(timestamp, false) # 24 tunnin muoto
19puts convert_unix_timestamp(timestamp, true) # 12 tunnin muoto
20
1// Go aikaleiman muunnos
2package main
3
4import (
5 "fmt"
6 "time"
7)
8
9func convertUnixTimestamp(timestamp int64, use12Hour bool) string {
10 // Muunna Unix-aikaleima Time-muotoon
11 t := time.Unix(timestamp, 0)
12
13 // Muotoilumerkkijono 12 tunnin tai 24 tunnin mieltymyksen mukaan
14 formatString := "Monday, January 2, 2006 "
15 if use12Hour {
16 formatString += "3:04:05 PM" // 12 tunnin muoto AM/PM
17 } else {
18 formatString += "15:04:05" // 24 tunnin muoto
19 }
20
21 // Palauta muotoiltu aika
22 return t.Format(formatString)
23}
24
25func main() {
26 timestamp := int64(1609459200) // 1. tammikuuta 2021 00:00:00 UTC
27 fmt.Println(convertUnixTimestamp(timestamp, false)) // 24 tunnin muoto
28 fmt.Println(convertUnixTimestamp(timestamp, true)) // 12 tunnin muoto
29}
30
1// Swift aikaleiman muunnos
2import Foundation
3
4func convertUnixTimestamp(_ timestamp: Int, use12Hour: Bool) -> String {
5 // Luo Date Unix-aikaleimasta
6 let date = Date(timeIntervalSince1970: TimeInterval(timestamp))
7
8 // Luo DateFormatter
9 let formatter = DateFormatter()
10 formatter.dateStyle = .full
11
12 // Aseta aika tyyli 12 tunnin tai 24 tunnin mieltymyksen mukaan
13 if use12Hour {
14 formatter.timeStyle = .medium
15 formatter.amSymbol = "AM"
16 formatter.pmSymbol = "PM"
17 } else {
18 formatter.timeStyle = .medium
19 formatter.dateFormat = formatter.dateFormat?.replacingOccurrences(of: "h:mm:ss a", with: "HH:mm:ss")
20 }
21
22 // Palauta muotoiltu päivämäärä
23 return formatter.string(from: date)
24}
25
26// Esimerkkikäyttö
27let timestamp = 1609459200 // 1. tammikuuta 2021 00:00:00 UTC
28print(convertUnixTimestamp(timestamp, use12Hour: false)) // 24 tunnin muoto
29print(convertUnixTimestamp(timestamp, use12Hour: true)) // 12 tunnin muoto
30
1# R aikaleiman muunnos
2convert_unix_timestamp <- function(timestamp, use_12hour = FALSE) {
3 # Muunna Unix-aikaleima POSIXct-datetimeksi
4 date_time <- as.POSIXct(timestamp, origin = "1970-01-01", tz = "UTC")
5
6 # Muotoile 12 tunnin tai 24 tunnin mieltymyksen mukaan
7 if (use_12hour) {
8 format_string <- "%A, %B %d, %Y %I:%M:%S %p" # 12 tunnin muoto AM/PM
9 } else {
10 format_string <- "%A, %B %d, %Y %H:%M:%S" # 24 tunnin muoto
11 }
12
13 # Palauta muotoiltu päivämäärämerkkijono
14 format(date_time, format_string)
15}
16
17# Esimerkkikäyttö
18timestamp <- 1609459200 # 1. tammikuuta 2021 00:00:00 UTC
19cat(convert_unix_timestamp(timestamp, FALSE), "\n") # 24 tunnin muoto
20cat(convert_unix_timestamp(timestamp, TRUE), "\n") # 12 tunnin muoto
21
1% MATLAB aikaleiman muunnos
2function formattedDate = convertUnixTimestamp(timestamp, use12Hour)
3 % Muunna Unix-aikaleima MATLAB datetimeksi
4 % MATLAB-päivämäärät ovat päiviä vuodesta 1900-01-01, 1 = 1900-01-01
5 % Unix-aikaleimat ovat sekunteja vuodesta 1970-01-01
6
7 % Muunna Excel-päivämäärämuotoon
8 % 25569 on päivien määrä 1900-01-01 ja 1970-01-01 välillä
9 excelDate = (timestamp / 86400) + 25569;
10
11 % Muotoile 12 tunnin tai 24 tunnin mieltymyksen mukaan
12 if use12Hour
13 formattedDate = datestr(excelDate, 'dddd, mmmm d, yyyy h:mm:ss AM/PM');
14 else
15 formattedDate = datestr(excelDate, 'dddd, mmmm d, yyyy hh:mm:ss');
16 end
17end
18
19% Esimerkkikäyttö
20timestamp = 1609459200; % 1. tammikuuta 2021 00:00:00 UTC
21disp(convertUnixTimestamp(timestamp, false)) % 24 tunnin muoto
22disp(convertUnixTimestamp(timestamp, true)) % 12 tunnin muoto
23
1' Excel VBA aikaleiman muunnos
2Function ConvertUnixTimestamp(timestamp As Long, Optional use12Hour As Boolean = False) As String
3 ' Muunna Unix-aikaleima Excel-päivämääräksi
4 ' Excel-päivämäärät ovat päiviä vuodesta 1900-01-01, 1 = 1900-01-01
5 ' Unix-aikaleimat ovat sekunteja vuodesta 1970-01-01
6
7 ' Muunna Excel-päivämäärämuotoon
8 ' 25569 on päivien määrä 1900-01-01 ja 1970-01-01 välillä
9 Dim excelDate As Double
10 excelDate = (timestamp / 86400) + 25569
11
12 ' Muotoile 12 tunnin tai 24 tunnin mieltymyksen mukaan
13 If use12Hour Then
14 ConvertUnixTimestamp = Format(excelDate, "dddd, mmmm d, yyyy h:mm:ss AM/PM")
15 Else
16 ConvertUnixTimestamp = Format(excelDate, "dddd, mmmm d, yyyy hh:mm:ss")
17 End If
18End Function
19
20' Käyttö taulukossa:
21' =ConvertUnixTimestamp(1609459200, TRUE) ' 12 tunnin muoto
22' =ConvertUnixTimestamp(1609459200, FALSE) ' 24 tunnin muoto
23
Rajatapauksien käsittely
Työskennellessäsi Unix-aikaleimojen kanssa on tärkeää käsitellä rajatapauksia oikein. Tässä on esimerkkejä joidenkin yleisten rajatapauksien käsittelystä:
1// JavaScript rajatapauksien käsittely
2function safeConvertTimestamp(timestamp, use12Hour = false) {
3 // Tarkista, onko aikaleima voimassa
4 if (timestamp === undefined || timestamp === null || isNaN(timestamp)) {
5 return "Virheellinen aikaleima";
6 }
7
8 // Tarkista negatiiviset aikaleimat (päivät ennen 1970)
9 if (timestamp < 0) {
10 // Jotkut selaimet eivät ehkä käsittele negatiivisia aikaleimoja oikein
11 // Käytä luotettavampaa lähestymistapaa päiville ennen 1970
12 const date = new Date(timestamp * 1000);
13 if (isNaN(date.getTime())) {
14 return "Virheellinen päivämäärä (ennen 1970)";
15 }
16 }
17
18 // Tarkista Y2K38-ongelma (32-bittisille järjestelmille)
19 const maxInt32 = 2147483647; // 32-bittisen allekirjoitetun kokonaisluvun maksimiarvo
20 if (timestamp > maxInt32) {
21 // Harkitse BigIntin käyttöä erittäin suurille aikaleimoille nykyaikaisessa JavaScriptissä
22 console.warn("Aikaleima ylittää 32-bittisen kokonaisluvun rajan (Y2K38-ongelma)");
23 }
24
25 // Jatka normaalia muunnosta
26 try {
27 const date = new Date(timestamp * 1000);
28 const options = {
29 year: 'numeric',
30 month: 'long',
31 day: 'numeric',
32 weekday: 'long',
33 hour: use12Hour ? 'numeric' : '2-digit',
34 minute: '2-digit',
35 second: '2-digit',
36 hour12: use12Hour
37 };
38 return date.toLocaleString(undefined, options);
39 } catch (error) {
40 return "Virhe aikaleiman muunnossa: " + error.message;
41 }
42}
43
Viitteet
-
"Unix-aika." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Unix_time
-
"Vuoden 2038 ongelma." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/Year_2038_problem
-
Olson, Arthur David. "Kalenteriajan monimutkaisuudet." The Open Group, https://www.usenix.org/legacy/events/usenix01/full_papers/olson/olson.pdf
-
"ISO 8601." Wikipedia, Wikimedia Foundation, https://en.wikipedia.org/wiki/ISO_8601
-
"RFC 3339: Päivämäärä ja aika internetissä: Aikaleimat." Internet Engineering Task Force (IETF), https://tools.ietf.org/html/rfc3339
-
Kernighan, Brian W., ja Dennis M. Ritchie. "C-ohjelmointikieli." Prentice Hall, 1988.
Palaute
Klikkaa palautetoastia aloittaaksesi palautteen antamisen tästä työkalusta
Liittyvät Työkalut
Löydä lisää työkaluja, jotka saattavat olla hyödyllisiä työnkulullesi