我正在尝试使用GMT时区进行日期格式化。但是,夏季和冬季的偏移量相同。它适用于CET时区。想知道为什么GMT与众不同?
尝试了以下数据编织
期待
"GMT":
"date-GMT-Winter": "2019-12-15T13:00:00+00:00",
"date-GMT-Summer": "2019-08-15T13:00:00+01:00"
但实际
"GMT":
"date-GMT-Winter": "2019-12-15T13:00:00Z",
"date-GMT-Summer": "2019-08-15T13:00:00Z"
output application/json
var CET_timezone_winter = "2019-12-15T13:00:00" as DateTime >> "CET" as String {format: "xxx"}
var CET_timezone_summer = "2019-08-15T13:00:00" as DateTime >> "CET" as String {format: "xxx"}
var GMT_timezone_winter = "2019-12-15T13:00:00" as DateTime >> "GMT" as String {format: "xxx"}
var GMT_timezone_summer = "2019-08-15T13:00:00" as DateTime >> "GMT" as String {format: "xxx"}
---
{
'date2': now(),
"timeZoneOffset-xxx" : now() as String {format: "xxx"},
'CET':
{
'date-CET-Winter': CET_timezone_winter,
'date-CET-Summer': CET_timezone_summer
},
'GMT':
{
'date-GMT-Winter': GMT_timezone_winter,
'date-GMT-Summer': GMT_timezone_summer
}
}
答案 0 :(得分:4)
夏令时不适用于格林尼治标准时间(或UTC)
请参见https://www.timeanddate.com/time/gmt-utc-time.html
夏时制(DST)的UTC和GMT都不会更改。但是,某些使用GMT的国家/地区在夏令时期间会切换到不同的时区。
例如,英国并非全年都使用格林尼治标准时间,而是在夏季月份使用英国夏令时(BST),比格林尼治标准时间早一小时。
如果您要获取英国/伦敦的全年时间(格林尼治标准时间(GMT)和夏令时(BST)),则可以使用以下Dataweave(我添加了新字段进行比较)
output application/json
var CET_timezone_winter = "2019-12-15T13:00:00" as DateTime >> "CET" as String {format: "xxx"}
var CET_timezone_summer = "2019-08-15T13:00:00" as DateTime >> "CET" as String {format: "xxx"}
var GMT_timezone_winter = "2019-12-15T13:00:00" as DateTime >> "GMT" as String {format: "xxx"}
var GMT_timezone_summer = "2019-08-15T13:00:00" as DateTime >> "GMT" as String {format: "xxx"}
var london_timezone_winter = "2019-12-15T13:00:00" as DateTime >> "Europe/London" as String {format: "xxx"}
var london_timezone_summer = "2019-08-15T13:00:00" as DateTime >> "Europe/London" as String {format: "xxx"}
---
{
'date2': now(),
"timeZoneOffset-xxx" : now() as String {format: "xxx"},
'CET':
{
'date-CET-Winter': CET_timezone_winter,
'date-CET-Summer': CET_timezone_summer
},
'GMT':
{
'date-GMT-Winter': GMT_timezone_winter,
'date-GMT-Summer': GMT_timezone_summer
},
'London': {
'date-London-Winter': london_timezone_winter,
'data-London-Summer': london_timezone_summer
}
}
输出为JSON:
{
"date2": "2019-09-24T15:25:17.574Z",
"timeZoneOffset-xxx": "+00:00",
"CET": {
"date-CET-Winter": "2019-12-15T14:00:00+01:00",
"date-CET-Summer": "2019-08-15T15:00:00+02:00"
},
"GMT": {
"date-GMT-Winter": "2019-12-15T13:00:00Z",
"date-GMT-Summer": "2019-08-15T13:00:00Z"
},
"London": {
"date-London-Winter": "2019-12-15T13:00:00Z",
"data-London-Summer": "2019-08-15T14:00:00+01:00"
}
}