如何解决Telegraf Starlark 处理器 - 如何将日期时间转换为 Unix 纪元格式
我按照教程 https://www.influxdata.com/blog/json-to-influxdb-with-telegraf-and-starlark/ 开始使用 Telegraf 和 Starlark。
我以 JSON 格式获取数据,但遵循教程并将输入视为字符串,然后使用 Starlark 进行解析。
我的问题是,我需要使用作为 JSON 输入一部分的日期时间戳。我正在使用下面的代码,如果我将它设置为一些硬编码的 Unix 纪元时间,它就可以工作
new_metric = Metric("mymetric")
new_metric.time =1615702479866917911
但是如何将我拥有的 DD-Mon-YYYY H:M:S 格式(例如 12-Mar-2021 15:30:00 )的日期转换为 Starlark 脚本中的 Unix 纪元格式。由于无法在 Starlark 脚本中导入任何 python 库,不知道我该如何完成这种转换。
解决方法
metric.time = time.parse_time("12-Mar-2021 15:30:00",format="02-Jan-2006 15:04:05").unix
如果您需要设置时区(以上将解析为 UTC),您可以通过在末尾添加一个参数来实现,如下所示:
metric.time = time.parse_time("12-Mar-2021 15:30:00",format="02-Jan-2006 15:04:05",location="US/Eastern").unix
并且从常规时间对象中,您可以像这样获取 unix 时间:
metric.time = time.now().unix
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。