Hvordan kan jeg generere UNIX -tidsstempler i Linux

Hvordan kan jeg generere UNIX -tidsstempler i Linux
I UNIX -tidsstempel representerer vi enhver dato og tid sammen i et enkelt langt tall. Dette enkelttallet beskriver de totale sekundene som ble gått siden 1. januar 1970 kl. 00:00:00 UTC. I denne guiden vil vi dekke alt om å konvertere UNIX -tidsstempler til datoer, inkludert hvilke UNIX -tidsstempler er, hvordan du konverterer dem til en dato, og noen praktiske eksempler for å hjelpe deg i gang.

Innhold for denne artikkelen er:

  • Hva er en UNIX -tidsstempel?
  • Hvordan konvertere UNIX tidsstempel til dags dato
  • Metode 1: Bruke datakommandoen
    • Eksempel 1: Konverter en UNIX -tidsstempel til en dato og klokkeslett i en bestemt tidssone
    • Eksempel 2: Konverter en UNIX -tidsstempel til bare en dato
  • Metode 2: Bruke Perl -programmeringsspråket
  • Metode 3: Bruke Python -programmeringsspråket
  • Metode 4: Bruke et bashskript
  • Konklusjon

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.

  • Bruke datakommando
  • Bruke Perl -programmeringsspråket
  • Bruke Python -programmeringsspråket
  • Bruke et bashskript

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.