更改bash脚本中的时间输出

更改bash脚本中的时间输出,bash,time,Bash,Time,如何更改此时间输出 date --date="@$(echo $(TZ=UTC date +%s) - $(date +%s)'%(5*60)-(5*60)' | bc)" 输出:za 2014年4月12日00:25:00 CEST 应在此布局中输出:%Y%m%d%H%m 如何在字符串中实现这一点 谢谢 我认为这应该满足您的要求: d="@$(echo $(TZ=UTC date +%s) - $(date +%s)'%(5*60)-(5*60)' | bc)"&&echo `

如何更改此时间输出

date --date="@$(echo $(TZ=UTC date +%s) - $(date +%s)'%(5*60)-(5*60)' | bc)"
输出:za 2014年4月12日00:25:00 CEST

应在此布局中输出:%Y%m%d%H%m

如何在字符串中实现这一点


谢谢

我认为这应该满足您的要求:

d="@$(echo $(TZ=UTC date +%s) - $(date +%s)'%(5*60)-(5*60)' | bc)"&&echo `date --date="$d"` `date --date="$d" +%Y%m%d%H%M`

d="@$(echo $(TZ=UTC date +%s) - $(date +%s)'%(5*60)-(5*60)' | bc)"&&echo `date --date="$d" --utc` `date --date="$d" +%Y%m%d%H%M --utc`

第二个是UTC。

谢谢,但这给了我一个非常奇怪的输出,我以前也尝试过:日期:无效日期'@2014041122311397255100'您能显示您的预期输出吗?za apr 12 00:35:00 CEST 2014 201404120035d=“@$(echo$(TZ=UTC日期+%s)-(日期+%s)-(5*60)-(5*60)-(公元前)“&&echo`date--date date date date=“$d”`date date=“$d”+%Y%m%d%H%m`谢谢你,这是可行的,但时间格式不是UTC,我明白了。。。如果我改变UTC是另一回事,那就没有意义了。日期--date=“@$(echo$(TZ=UTC日期+%s)-(日期+%s)-(5*60)-(5*60)-(5*60)| bc)”++%Y%m%d%H%m这对我来说,你让我非常快乐!!最后一个问题,如何在变量中得到它?当我回显$d时,它返回一个奇怪的字符串@1397257200是的,这就是您传递到date的内容,要将其放入变量中,您需要执行以下操作:
var=$(d=“@$(echo$(TZ=UTC日期+%s)-(date+%s)-(5*60)-(5*60)-(5*60);&echo`date--date=“$d”--UTC``date date=“$d”+%Y%m%d%H%m--UTC`
!!完美的谢谢哦,顺便说一句,您不需要
TZ=UTC
,因为
date+%s
返回自1970年1月1日UTC以来的秒数,所以它是相同的,无论您在那里指定了时区。内部命令所做的是从
date+%s
/300(5分钟)中获取提醒,然后从
date+%s
中减去300。