【发布时间】:2021-06-30 18:03:51
【问题描述】:
我已经尝试转换该日期格式几个小时了。我想摆脱格林尼治标准时间并用我的时区替换,即 +02:00
awk -F, -v currentDate=`TZ="Europe/Paris" date -d "23 hours ago" +%s`'{OFS=",";"date -d" $1" +%s"
1 美元 = 2018 年 4 月 20 日星期三 19:56:52 GMT
我一直得到与输出相同的输入,它似乎忽略了 TZ
我当前的时区是 +2h,所以要么将其附加到日期以代替 GMT,要么将日期转换为本地时间。
预期结果 = Wed 20 Apr 2018 19:56:52+02:00 或 Wed 20 Apr 2018 21:56:52
【问题讨论】:
-
我认为这个问题让我感到困惑的一件事是,您似乎在说您想更改时区,但不要让日期保持不变。换句话说,您不想在您的时区获得相同的实际时间,您只想修复输入的时区。对?这不需要任何日期操作 - 只需
sed 's/ GMT/+02:00/,对吗?我不知道23 hours ago与任何事情有什么关系。 -
您要插入逗号并将
GMT替换为+2:00? -
该脚本不会产生 任何 输出,除非出现语法错误。请edit 将您的问题包含在minimal reproducible example 中,其中包含最少的完整脚本以及简洁、可测试的示例输入和预期输出,以便我们为您提供帮助。
-
当你自己执行这些命令时:
date -d "23 hours ago" +%s和TZ="Europe/Paris" date -d "23 hours ago" +%s,你看到了什么? -
基本上我正在检索 GMT 日期,并希望使用我当前的时区 (+02:00) 将其转换为我的当地时间。我不能做
sed s/ GMT/+02:00/,因为时区正在改变。但我认为将其转换为我的当地时间或附加我的时区都可以
标签: datetime awk date-format timezone-offset