Linux中date命令时间戳和时间之间的转换
1、 时间戳与普通时间之间的互相转换2、 将时间加减N秒3、 显示某个时区下当前系统时间4、 自定义格式化输出在Linux系统中。
- 本文目录导读:
- 1、 时间戳与普通时间之间的互相转换
- 2、 将时间加减N秒
- 3、 显示某个时区下当前系统时间
- 4、 自定义格式化输出
在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命令时间戳和时间之间的转换缩略图 Linux中date命令时间戳和时间之间的转换](https://www.72715.net/wp-content/uploads/2023/05/4ff4523bff6f7357432479f7a27f62c7.png)
$ 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命令用于进行时间戳和普通时间之间转换、增减操作、时区切换和自定义格式化等功能。通过这些操作,我们可以轻松地获取和处理各种有关日期和时间信息。
最后,请注意,在执行上述操作时最好先备份数据。因为错误的命令可能会导致不可逆转变更或删除数据。