我想将正常运行时间转换为日期 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