jq 日期操作协助
jq date manipulation assistance
我有一个 mysql 日期字段,名为 "dateFound"。
dateFound | date | YES | | NULL | |
我创建了一个非常基本的 python API,它可以从 MySQL 中提取所有数据并通过 json 提供。在这个过程中,它似乎正在将 YYYY-MM-DD 转换为 YYYY-MM-DD 00:00:00
mysql> select dateFound from db where item = 111222;
+------------+
| dateFound |
+------------+
| 2017-11-12 |
+------------+
但在 json 输出中是:
dateFound "Sun, 12 Nov 2017 00:00:00 GMT"
我试图找出如何通过 jq 将其转换回 YYYY-MM-DD,但我确实找不到它。
jq -r '["Date Found"], ["-------------"], (.Data[] | [.dateFound]) | @tsv ' <<<$Report
是我正在进行的转换的基本近似值(减去所有其他字段),它确实为我提供了我需要的所有数据。这只是我无法返回 YYYY-MM-DD 的日期格式。
我尝试使用定义的格式将管道插入到 strptime 中,但这显然不是正确的语法。寻找指向我所缺少的东西的指针。我原以为对提取的数据进行日期操作会比这更容易,或者我遗漏了一些非常明显的东西。
感谢任何帮助。
- 您可以在适当截断字符串后使用内置过滤器
strptime/1
- 请参阅有关标准 C 库函数的任何文档,例如
http://pubs.opengroup.org/onlinepubs/009695399/functions/strptime.html
例如:
sub(" [A-Z]+$";"")
| strptime("%a, %d %b %Y %T")
| mktime
| strftime("%Y-%m-%d")
- 从源头上解决问题可能会更简单更好,即在您的 Python 程序中。
我有一个 mysql 日期字段,名为 "dateFound"。
dateFound | date | YES | | NULL | |
我创建了一个非常基本的 python API,它可以从 MySQL 中提取所有数据并通过 json 提供。在这个过程中,它似乎正在将 YYYY-MM-DD 转换为 YYYY-MM-DD 00:00:00
mysql> select dateFound from db where item = 111222;
+------------+
| dateFound |
+------------+
| 2017-11-12 |
+------------+
但在 json 输出中是:
dateFound "Sun, 12 Nov 2017 00:00:00 GMT"
我试图找出如何通过 jq 将其转换回 YYYY-MM-DD,但我确实找不到它。
jq -r '["Date Found"], ["-------------"], (.Data[] | [.dateFound]) | @tsv ' <<<$Report
是我正在进行的转换的基本近似值(减去所有其他字段),它确实为我提供了我需要的所有数据。这只是我无法返回 YYYY-MM-DD 的日期格式。
我尝试使用定义的格式将管道插入到 strptime 中,但这显然不是正确的语法。寻找指向我所缺少的东西的指针。我原以为对提取的数据进行日期操作会比这更容易,或者我遗漏了一些非常明显的东西。
感谢任何帮助。
- 您可以在适当截断字符串后使用内置过滤器
strptime/1
- 请参阅有关标准 C 库函数的任何文档,例如 http://pubs.opengroup.org/onlinepubs/009695399/functions/strptime.html
例如:
sub(" [A-Z]+$";"")
| strptime("%a, %d %b %Y %T")
| mktime
| strftime("%Y-%m-%d")
- 从源头上解决问题可能会更简单更好,即在您的 Python 程序中。