发布于: Jan 21, 2021

我们很高兴地宣布,AWS IoT SiteWise 现支持日期与时间函数以及全球时区,以用于 AWS IoT SiteWise 资产模型中的度量转换计算。现在,您可以使用日期与时间表达式来检索 UTC(协调世界时)或本地时区中设备数据的当前时间戳,构建具有给定输入参数(例如,年、月、mday 和时间)的时间戳,并提取具有特定时间戳值的不同时间字段(例如,年或月)。AWS IoT SiteWise 所支持的日期与时间函数如下所示。

获取当前时间 - AWS IoT SiteWise 现具有时间函数,可让您以两种方式提取当前时间戳。
now() - 您可以使用该函数以 epoch 格式或者以 1970 年 1 月 1 日 上午 12:00 (UTC) 起经过的秒数为单位来检索时间。
timestamp() - 您可以使用该函数来检索用于转换的输入消息的时间戳(以 UTC epoch 秒数为单位)和用于度量的当前窗口结束时间戳。

提取本地时间 - localtime (epoch_seconds, timezone)
您可以使用该函数来显示不同时区的资产数据。本地时区可以通过指定时区前缀 ('UTC', 'CET') 或以小时为单位的时差 ('UTC+01:00') 来构建。举一个客户用例,一家汽车制造商在土耳其设有工厂和设备,其数据以 UTC 时间进行记录。其经理可以将 SiteWise 公式表达式中本地时区的时间提取为 localtime(timestamp(), ‘TRT’),其中 TRT 是土耳其时区的预定义前缀,随后可用于显示本地时区中的数据。有关受支持时区的列表,请访问 AWS IoT SiteWise 受支持时区。

提取时间字段 - year(), mon(), yday(), mday(), wday(), hour(), minute(), sec()
您可以使用这些函数从本地时间对象中提取不同的时间成分(年、月、yday、mday、wday、时、分、秒)。例如,位于俄勒冈州的一家医疗设备公司的车间经理希望计算一周中每一天的平均生产率。该经理可以将度量定义为 productivity_Monday=if(timestamp().localtime('PST').wday().eq(1), avg(productivity), none),随后可用于比较每天的生产率。wday() 函数以 0-6 的整数格式返回 wday,其中 0 代表“星期日”。

构建时间 - mktime()
您可以使用该函数,以人类可读取的年、月、mday 等日期格式来构建 UTC epoch 秒数(浮点数)。例如,如果您要表示特定的日期和时间(比如,以 epoch 秒数为单位的 2021 年 1 月 19 日 4:31:39 UTC),则可以使用以下格式的 mktime() 函数:mktime(‘UTC’, 2021, 1, 19, 4, 31, 39.00)。

有关日期与时间以及示例的列表,请访问 AWS IoT SiteWise 表达式

AWS IoT SiteWise 是一种托管服务,可从工业设备中大规模收集、存储、整理和监控数据。要了解更多信息,请访问 AWS IoT SiteWise 网站开发人员指南。 有关 AWS IoT SiteWise 支持区域的列表,请访问 AWS 区域