创建有效的 rss 日期

发布于 2024-12-23 09:42:16 字数 219 浏览 1 评论 0原文

我想将日期转换

Sat Dec 31 22:42:58 CET 2011

为有效的 rss 日期,通常看起来

Mon, 06 Sep 2009 16:45:00 +0000

秒应该始终为 00。有办法这样做吗?此外,还可以找出当前的有效 rss,但这是可选的;)

I want to convert a date like

Sat Dec 31 22:42:58 CET 2011

to a valid rss date which normaly looks like

Mon, 06 Sep 2009 16:45:00 +0000

Seconds should always be 00. Is there anyway to do so? Besides it would be could to find out the current as a valid rss but that's optional ;)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

梦在深巷 2024-12-30 09:42:16

更新

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

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

技巧是将日期重新格式化为 date 可以理解并作为输入的字符串。在本例中为 2011-12-31 13: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")"

输出

$ 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

Update

With your new sample input, you don't even need to reformat. It's as simple as

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

The trick is to reformat your date into a string that date can understand and take as input. In this case it is 2011-12-31 13:37. I'm using awk to do this, but there are number of different utilities that will suffice.

#!/bin/bash

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

Output

$ 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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文