Innhold for denne artikkelen er:
Hva er en UNIX -tidsstempel
En UNIX -tidsstempel viser et enkelt tall som tilsvarer til dags dato og klokkeslett. Dette enkelttallet viser de totale sekundene som har gått siden 1. januar 1970 kl. 00:00:00 UTC. Vi kalte også dette enkelttallet Unix Epoch. UNIX tidsstempler brukes på mange forskjellige programmeringsspråk for å representere datoer og tider i enhver tidssone.
Hvordan konvertere UNIX tidsstempel til dags dato
I Linux er det forskjellige metoder for å konvertere en UNIX -tidsstempel til en date eller omvendt. I denne artikkelen vil vi starte fra den grunnleggende metoden som bruker datakommandoen i terminalvinduet.
Metode 1: Bruke datakommandoen
For å konvertere en UNIX-tidsstempel til en menneskelig lesbar dato og tid, kan vi bruke datakommandoen i terminalen. Syntaksen for datakommandoen er som følger:
date -d @
For å konvertere en UNIX-tidsstempel på 1676865654 til en menneskelig lesbar dato og tid kjør følgende kommando:
dato -d @1676865654
Som du ser inkluderer utdataene fullstendige detaljer om gjeldende dato og tid inkludert tidssone og året.
Tilsvarende kan vi også generere tidsstempelverdi for en bestemt dato. For eksempel kan tidsstempelverdi for 1. januar 2023, klokka 12:00:00, få ved å bruke følgende kommando:
Dato -d "2023-01-01 00:00:00" +%S
Følgende kommando vil returnere UNIX -tidsstempler for gjeldende dato i nanosekunderformat:
Dato +%s%n
Eksempel 1: Konverter en UNIX -tidsstempel til en dato og klokkeslett i en bestemt tidssone
For å konvertere en UNIX -tidsstempel til en dato og klokkeslett i en bestemt tidssone, vil etter kommandosyntax bli fulgt:
Tz =date -d @
For eksempel for å konvertere en UNIX-tidsstempel på 1613475901 til en menneskelig lesbar dato og tid i den østlige tidssonen, kjør under kommandoen:
TZ = America/new_york date -d @1676865654
Eksempel 2: Konverter en UNIX -tidsstempel til bare en dato
For å konvertere en UNIX -tidsstempel til en dato bare, kan du bruke følgende kommando:
date -d @+'%Y-%m-%d'
For eksempel, hvis vi har en UNIX-tidsstempel på 1613475901 og for å konvertere det i formatet fra året før (e.g. 2023-02-20) Vi kan bruke følgende kommando:
Dato -d @ 1676865654 +'%y-%m-%d'
Dette vil sende ut datoen som tilsvarer UNIX -tidsstempelet 1613475901:
Metode 2: Bruke Perl -programmeringsspråket
Perl er et populært programmeringsspråk som kan brukes til å generere UNIX -tidsstempler i Linux.
Åpne en Nano -redaktør ved hjelp av:
Nano
Lag nå et enkelt Perl -skript som genererer en UNIX -tidsstempel for gjeldende dato og klokkeslett:
#!/usr/bin/perl
utskriftstid ();
Trykk CTRL + O, og lagre dette skriptet som "tidsstempel.pl”Og trykk Enter, trykk deretter Ctrl + X for å lagre og avslutte:
Nå gjør dette kjørbar ved å løpe:
CHMOD +x tidsstempel.pl
Kjør skriptet med kommandoen "./tidsstempel.pl ”for å generere en UNIX -tidsstempel:
Metode 3: Bruke Python -programmeringsspråket
Python er et annet populært programmeringsspråk som kan brukes til å generere UNIX -tidsstempler i Linux.
Først må vi installere Python3 på Linux, for å gjøre den RUN -kommandoen:
sudo apt install python3
Nå åpner Nano Editor ved hjelp av:
Nano
Lag et enkelt Python -skript som genererer en UNIX -tidsstempel for gjeldende dato og klokkeslett:
#!/usr/bin/python3
Importer tid
trykk (int (tid.tid()))
Trykk CTRL + O, og lagre dette skriptet som "tidsstempel.py”Og trykk Enter, trykk deretter Ctrl + X for å lagre og avslutte.
Ovennevnte skript kan gjøres kjørbar etter kommandoen nedenfor:
CHMOD +x tidsstempel.py
Kjør skriptet med kommandoen "./tidsstempel.py ”for å generere en UNIX -tidsstempel.
Metode 4: Bruke et bashskript
Hvis du trenger å generere UNIX -tidsstempler på en mer kompleks eller automatisert måte, kan du bruke et bash -skript.
Åpne Nano -redaktøren ved hjelp av:
Nano
Skriv følgende skript i redaktør som genererer en UNIX -tidsstempel for gjeldende dato og klokkeslett:
#!/bin/bash
ekko $ (dato +%s)
Trykk CTRL + O, og lagre dette skriptet som "tidsstempel.sh”Og trykk Enter, trykk deretter Ctrl + X for å lagre og avslutte:
Gjør nå dette skriptet kjørbart ved å kjøre kommandoen:
CHMOD +x tidsstempel.sh
Kjør skriptet med kommandoen "./tidsstempel.SH ”for å generere en UNIX -tidsstempel:
Konklusjon
UNIX tidsstempler viser totalt sekunder siden 1. januar 1970. For å generere UNIX -tidsstempler i Linux, kan datakommandoen brukes i kommandolinjen ved å bestå +%S -argumentet. Alternativt kan vi også lage et bash -manus eller bruke Pearl og Python Language Script for å gi oss tidsstempler for eksakt dato og tidssone.