如何使用shell命令显示日期如下?

时间:2011-02-16 07:03:11

标签: solaris datetime-format

20110216_00

20110216_01

...

20110216_23


20110217_00
..

等等

我试过

date +'%Y%m%d_%H'

但它永远不会以00-23格式开始,而是从01-24格式开始,因此我的小时部分始终不正确。

任何人都可以建议,我怎样才能超越o / p

4 个答案:

答案 0 :(得分:0)

您使用的Solaris版本是什么?在本地大约22:30,我看到了:

mph@sol11express:~$ date +'%Y%m%d_%H'
20110216_22
mph@sol11express:~$ uname -a
SunOS sol11express 5.11 snv_151a i86pc i386 i86pc Solaris
mph@sol11express:~$ echo $SHELL
/bin/bash

在我看来,它使用的是0-23小时。

答案 1 :(得分:0)

您可以通过操纵小时部分来完成。检查下面的剪辑。

#/bin/ksh
s=`date +'%Y%m%d_'`
t=` date +'%H'`
let t=$t+1
echo "Required date is " $s$t

它给出了

Required date is  20110316_16

答案 2 :(得分:0)

我在SunOS 5.10上试过它这有效!

date +%Y%m%d_%H
-> 20130912_02

date +'%Y%m%d_%H'
-> 20130912_02

您能告诉我们您使用的是哪种Solaris吗?

uname -a

干杯!

答案 3 :(得分:-1)

你可以使用日期-u +'%Y-%m-%d-%H'