Unix timestamps represent dates and times as a single number – the number of seconds since January 1st, 1970 at 00:00:00 UTC. They are commonly used in programming and systems administration to handle dates and times in a standardized way across platforms.
Here are several methods to generate UNIX timestamps in Linux:
Using the date Command
The date command in Linux can generate UNIX timestamps with the +%s format specifier:
date +%s
This will output the current timestamp.
To generate a timestamp for a specific date:
date -d "2023-03-10 12:00:00" +%s
The -d option parses the provided date/time string and outputs the corresponding timestamp.
You can also generate timestamps in nanoseconds with:
date +%s%N
Using Perl
Perl has a built-in time function that returns the current UNIX timestamp:
#!/usr/bin/perl
print time();
Save this as a script, make it executable, and run it to output the timestamp.
Using Python
Similarly, Python has a time module with a time() function:
#!/usr/bin/python3
import time
print(int(time.time()))
The time.time() method returns a float, so convert it to an integer to get a proper UNIX timestamp.
Bash Script
You can also generate timestamps in a Bash script:
#!/bin/bash
timestamp=$(date +%s)
echo $timestamp
The $(date +%s) command substitution will be replaced with the output timestamp value.
Converting Timestamps to Dates
To convert a UNIX timestamp back to a human-readable date, pass it to the date command with the @ option:
date -d @1678414400
This will convert the provided timestamp to a date/time in the configured system timezone.
You can also format the output date string:
date -d @1678414400 +"%Y-%m-%d %H:%M:%S"
So in summary, UNIX timestamps provide a simple way to handle dates/times in scripts and programs. The date command and programming languages make it easy to generate and convert timestamps.