首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >非UTC -在Sesam DTL中作为UTC (zulu)呈现的时间戳

非UTC -在Sesam DTL中作为UTC (zulu)呈现的时间戳
EN

Stack Overflow用户
提问于 2017-12-11 08:04:19
回答 1查看 62关注 0票数 1

当您使用datetime更改到不同的时区时,时间戳仍然保留Z,这表明时间戳是UTC。如果将时间戳转换为字符串,则也会保留此选项。唯一的选择是使用日期时间格式来删除它,但是应该是这样吗?

代码语言:javascript
复制
 "transform": {
    "type": "dtl",
    "rules": {
      "default": [
        ["add", "1utc-time-input", "2017-04-12T22:00:00.74Z"],
        ["add", "2utc-parsed",
            ["datetime-parse", "%Y-%m-%dT%H:%M:%S.%fZ", "_T.1utc-time-input"]],
        ["add", "3utc-as-oslo",
            ["datetime-shift", "UTC", "Europe/Oslo", "_T.2utc-parsed"]],
        ["add", "4utc-as-oslo-formatted", 
            ["datetime-format", "%Y-%m-%dT%H:%M:%S.%f", "_T.3utc-as-oslo"]],
        ["add", "5utc-as-oslo-as-string", 
            ["string", "_T.3utc-as-oslo"]]
      ]
    }
  }
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-12 17:01:15

没有,这一点在以后版本的芝麻中得到了改进。现在,您可以在解析时间戳字符串时覆盖时区,以避免问题:

代码语言:javascript
复制
{
  "_id": "timezone-shift",
  "type": "pipe",
  "source": {
    "type": "embedded",
    "entities": [{
      "_id": "foo",
      "timestamp": "2017-04-12T22:00:00.74Z"
    }]
  },
  "transform": {
    "type": "dtl",
    "rules": {
      "default": [
        ["add", "original",
          ["datetime-parse", "%Y-%m-%dT%H:%M:%S.%fZ", "_S.timestamp"]
        ],
        ["add", "shifted",
          ["datetime-parse", "Europe/Oslo", "%Y-%m-%dT%H:%M:%S.%fZ", "_S.timestamp"]
        ],
        ["add", "original-formatted-as-local-oslo-time",
          ["datetime-format", "Europe/Oslo", "%Y-%m-%dT%H:%M:%S.%f", "_T.original"]
        ],
        ["add", "shifted-formatted-as-local-oslo-time",
          ["datetime-format", "Europe/Oslo", "%Y-%m-%dT%H:%M:%S.%f", "_T.shifted"]
        ],
        ["add", "original-as-string",
          ["string", "_T.original"]
        ],
        ["add", "shifted-as-string",
          ["string", "_T.shifted"]
        ]
      ]
    }
  }
}

给出了以下结果:

代码语言:javascript
复制
[
  {
    "_id": "foo",
    "original": "~t2017-04-12T22:00:00.74Z",
    "original-as-string": "2017-04-12T22:00:00.74Z",
    "original-formatted-as-local-oslo-time": "2017-04-13T00:00:00.740000",
    "shifted": "~t2017-04-12T20:00:00.74Z",
    "shifted-as-string": "2017-04-12T20:00:00.74Z",
    "shifted-formatted-as-local-oslo-time": "2017-04-12T22:00:00.740000"
  }
]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47748629

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档