2011-02-16 60 views
1
20110216_00 

20110216_01 

... 

20110216_23 


20110217_00 
.. 

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

我與

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

嘗試,但它從未與00-23格式開始而是從01-24類似的格式,所以我得到的小時部分總是不正確。

任何人都可以提出,我怎麼能得到O/P上面

+0

首先,什麼shell? sh,bash?然後,「Y」看起來像缺少一個領先的「%」。而「日期」和「+」之間需要有空格。無論如何,%H應該在bash中工作。不要忘記'date'命令可能會在shell中被重新實現,所以使用/ bin/date或Solaris放置'date'命令的任何地方。 – karatedog 2011-02-16 07:47:52

回答

1

您正在使用什麼版本的Solaris?這是大約22:30在本地,我看到:

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

它看起來像我這樣使用0-23小時。

1

你可以通過製作小時部分來完成。檢查下面的剪輯。

#/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 
1

我想它在SunOS 5.10這工作!

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

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

您能告訴我們您正在使用哪個Solaris?

uname -a 

乾杯!

-1

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