Linux中date命令时间戳和时间之间的转换

1、 时间戳与普通时间之间的互相转换2、 将时间加减N秒3、 显示某个时区下当前系统时间4、 自定义格式化输出在Linux系统中。

在Linux系统中,日期和时间是非常重要的信息。而date命令是一个非常实用的工具,可以用来获取当前系统的日期和时间,并且还可以将日期和时间进行转换。在本文中,我们将介绍如何使用date命令在Linux系统中进行时间戳和时间之间的转换。

1. 时间戳与普通时间之间的互相转换

Unix/Linux操作系统使用“Unix Time”或“Epoch Time”来表示一个特定时刻距离1970年1月1日0:00:00 UTC(协调世界时)以来所经过的秒数。这个值被称为“UNIX 时间戳”,它是一个整数值。

要将UNIX 时间戳转换为普通格式化日期/时间字符串,请使用以下方法:

“`

$ date -d @1234567890

Fri Feb 13 23:31:30 CST 2009

这里,“-d”参数指定了我们要输入UNIX 时间戳(@1234567890)。输出结果显示该UNIX 时间戳对应于2009年2月13日23点31分30秒。

反过来,如果你有一个格式化好的日期/时间字符串并想将其转化成 UNIX 时间戳,则可以使用以下方法:

$ date -d “2018-06-27 08:30:00” +%s

1530079800

这里,“+%s”选项指定了我们要输出UNIX 时间戳。输出结果显示该日期/时间字符串对应的UNIX 时间戳为1530079800。

2. 将时间加减N秒

如果你想将一个给定的日期/时间加上或减去一定的秒数,可以使用以下方法:

$ date -d “2018-06-27 08:30:00 10 seconds”

Wed Jun 27 08:30:10 CST 2018

这里,“10 seconds”表示我们要在输入的日期/时间字符串(“2018-06-27 08:30:00”)上增加10秒钟。输出结果显示该操作后得到的新日期/时间为“Wed Jun 27 08:30:10 CST 2018”。

同样地,你也可以使用“minutes”、“hours”、“days”等关键字来进行相应操作。

3. 显示某个时区下当前系统时间

Linux系统默认采用UTC(协调世界时)作为标准时区。如果需要查看其他时区下当前系统时间,则可以使用以下方法:

Linux中date命令时间戳和时间之间的转换

$ TZ=’America/New_York’ date

Wed Jun 27 14:31:18 EDT

这里,“TZ=’America/New_York’”表示我们要设置当前所在时区为美国纽约市所在东部夏令时(EDT)。输出结果显示了当前以EDT所在地本地时间格式化后的日期和具体小时、分钟、秒钟信息。

4. 自定义格式化输出

date命令默认输出的日期/时间格式化字符串可能不符合你的需求。在这种情况下,可以使用“+”选项加上自定义的日期/时间格式化字符串,以得到相应输出。

以下是一些常见的日期/时间格式化占位符:

– %Y:年份(如2018)

– %m:月份(01~12)

– %d:日(01~31)

– %H:小时(00~23)

– %M:分钟数(00~59)

– %S:秒钟数(00~60)

例如,如果你要将当前系统时间以“YYYY-MM-DD hh:mm:ss”格式输出,则可以使用以下方法:

$ date +’%Y-%m-%d %H:%M:%S’

2018-06-27 11:23:45

在本文中,我们介绍了Linux系统中date命令用于进行时间戳和普通时间之间转换、增减操作、时区切换和自定义格式化等功能。通过这些操作,我们可以轻松地获取和处理各种有关日期和时间信息。

最后,请注意,在执行上述操作时最好先备份数据。因为错误的命令可能会导致不可逆转变更或删除数据。