You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在APL文档中为Alexa Widget计算时区偏移并转换时间

在APL文档内处理设备时区与UTC纪元时间的方法

可以在APL文档内直接获取设备时区,并将其偏移应用到UTC纪元毫秒时间上,具体实现如下:

  • 获取设备时区:APL提供内置设备上下文变量 ${device.timeZone},可直接拿到设备的时区标识符(如 America/Los_Angeles),无需从技能后端额外传递。

  • 转换UTC纪元毫秒为本地时间:

    1. 将UTC纪元毫秒转为APL DateTime对象:${dateTime(utcEpochMs)}(默认基于UTC时区)
    2. 转换为设备时区的DateTime对象:${dateTime(utcEpochMs).withZone(device.timeZone)},该对象会自动处理夏令时等时区动态变化
    3. 计算时区偏移毫秒数:如果需要手动获取偏移值,可用${dateTime(utcEpochMs).withZone(device.timeZone).getTime() - utcEpochMs},结果即为当前设备时区相对UTC的偏移毫秒数
  • 直接格式化本地时间:若只是要在Widget中展示本地时间,无需手动计算偏移,直接使用formatTime函数并指定时区即可:

    ${formatTime(dateTime(utcEpochMs), 'yyyy-MM-dd HH:mm:ss', device.timeZone)}
    

针对你使用Data Store REST API更新UTC时间数据的场景,完全可以在APL层面完成时区转换——后台只需统一存储UTC纪元毫秒,每个设备加载Widget时,APL会自动获取自身时区并处理转换,无需后台针对不同设备做时区适配。

内容的提问来源于stack exchange,提问作者Brian W

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 01:55:02