Bash 创建有效的rss日期

Bash 创建有效的rss日期,bash,shell,date,scripting,rss,Bash,Shell,Date,Scripting,Rss,我想转换一个日期,如 Sat Dec 31 22:42:58 CET 2011 到一个正常情况下看起来像的有效rss日期 Mon, 06 Sep 2009 16:45:00 +0000 秒数应始终为00。有没有办法这样做?此外,可以将当前的rss作为有效的rss查找,但这是可选的;) 更新 使用新的示例输入,您甚至不需要重新格式化。这很简单 $ time="Sat Dec 31 22:42:58 CET 2011"; date -Rd "$time" Sat, 31 Dec 2011 13:

我想转换一个日期,如

Sat Dec 31 22:42:58 CET 2011
到一个正常情况下看起来像的有效rss日期

Mon, 06 Sep 2009 16:45:00 +0000
秒数应始终为
00
。有没有办法这样做?此外,可以将当前的rss作为有效的rss查找,但这是可选的;)

更新 使用新的示例输入,您甚至不需要重新格式化。这很简单

$ time="Sat Dec 31 22:42:58 CET 2011"; date -Rd "$time"
Sat, 31 Dec 2011 13:42:58 -0800

诀窍是将日期重新格式化为
date
可以理解并作为输入的字符串。在这种情况下,它是
2011-12-3113:37
。我正在使用
awk
来实现这一点,但是有许多不同的实用程序可以满足

#!/bin/bash

time="12-31-11 13:37"
date -Rd "$(awk -F'[- ]' '{printf("20%s-%s-%s %s\n", $3,$1,$2,$4)}' <<<"$time")"
#/bin/bash
时间=“12-31-11 13:37”

日期-Rd“$(awk-F'[-]”{printf(“20%s-%s-%s%s\n”,$3、$1、$2、$4)}'我不知道日期-d,非常好,但你能告诉我当我想在字符串中使用它时,我该怎么做吗?编辑:我也在字符串中工作:DIt不完全是可移植的,但如果你的实现支持它,它会非常有用。@MichealPerr,就像你想在字符串中使用新格式化的日期一样?除了零秒之外比特,这对我很有用:
date-R-d'Sat-Dec 31 22:42:58 CET 2011'
$ time="12-31-11 13:37"; date -Rd "$(awk -F'[- ]' '{printf("20%s-%s-%s %s\n", $3,$1,$2,$4)}' <<<"$time")"
Sat, 31 Dec 2011 13:37:00 -0800