使用linux命令“date”时添加一些特定时间

问题描述 投票:7回答:5

在linux中,date可以帮助我打印当前时间。如果要打印当前时间+ 1小时,我应该给出什么选择?

linux date
5个回答
32
投票

在Linux上

只需使用-d(或--date)对日期进行一些数学计算:

date -d '+1 hour' '+%F %T'
#    ^^^^^^^^^^^^

例如:

$ date '+%F %T'
2013-04-22 10:57:24
$ date -d '+1 hour' '+%F %T'
2013-04-22 11:57:24
#           ^

在Mac OS上

警告,以上仅适用于Linux,不适用于Mac OS。

在Mac OS上,等效命令是

date -v+1H

2
投票

在shell脚本中,如果我们需要添加时间,那么使用下面的命令和日期格式(DATE字符串之前的PUT TIME)

date -d"11:15:10 2017-02-05 +2 hours" +"%Y-%m-%d %H:%M:%S"这将输出2017-02-05 13:15:10

如果没有UTC,这不会导致正确的日期它不起作用


1
投票

根据这个source,您可以这样做:

date --date ='1小时'


0
投票

TZ=Asia/Calcutta date应该工作(显然这将让你在加尔各答的时间)。

这仅更改此操作的TimeZone(TZ)环境变量,它不会永久设置为您指定的新时区。


0
投票

我们可以使用下面的代码得到它,我正在处理一个案例,其中我需要遍历过去3个月的日期,我使用下面的代码来遍历相同的

!/bin/sh

for i in {90..1}
  do
   st_dt=$(date +%F' 00:00:00'  -d "-$i days")
   echo $st_dt
   j=$((i-1))
   end_dt=$(date +%F' 00:00:00'  -d "-$j days")
   echo $end_dt
  done
© www.soinside.com 2019 - 2024. All rights reserved.