将 linux 正常运行时间转换为格式正确的日期

将 linux 正常运行时间转换为格式正确的日期

我想将正常运行时间转换为日期 DD:MM:YY 而无需|我想输入一个字符串,例如“计算机自 2016 年 2 月 23 日起就已开启”

答案1

您可以从以下输出中免费获得它last reboot

$ last reboot
reboot   system boot  4.14.81-i7       Sat Nov 17 23:25   still running
reboot   system boot  4.14.80-i7       Fri Nov 16 09:16 - 15:49  (06:33)

$ printf "On since: "; last reboot | grep "still running" | cut -c 40-56
On since: Sat Nov 17 23:25 

$ printf "On since: " ; last reboot --time-format iso | grep "still running" | cut -c 40-49
On since: 2018-11-17

您的uptime命令可能还具有以下-s选项:

$ uptime -s
2018-11-17 23:25:23

由于此格式可以接受date -d,因此您可以按照您的意愿重新格式化时间,如下所示:

$ date -d "$(uptime -s)" "+On since: %d:%m:%y"
On since: 17:11:18

答案2

单一命令。

$ date -r /proc/1 '+The computer is on since %d-%b-%y'
The computer is on since 09-Oct-18
$

答案3

使用最后一次数据修改/proc给出的目录stat

date -d "@$(stat -c '%Y' "/proc")" +'%F %T %z'

例子:

$ stat /proc
  File: `/proc'
  Size: 0               Blocks: 0          IO Block: 1024   directory
Device: 3h/3d   Inode: 1           Links: 188
Access: (0555/dr-xr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2020-09-04 16:36:02.016000956 +0200
Modify: 2020-09-04 16:36:02.016000956 +0200
Change: 2020-09-04 16:36:02.016000956 +0200
 Birth: -

$ date -d "@$(stat -c '%Y' "/proc")" +'%F %T %z'
2020-09-04 16:36:02 +0200

相关内容