我正在构建一个 Web API,它应该能够接收包含用户消息的 POST 请求。我有一个 .http 文件,应该发送请求来测试此接口。它应该发送的字段之一是当前日期/时间,以当地时间表示,格式为
yyyy-MM-dd HH:mm:ss
。
下面是我的 .http 文件:
@HostAddress = http://localhost:527
@NowUtc = {{$datetime "yyyy-MM-dd HH:mm:ss"}}
@NowLocal = {{$localDatetime "yyyy-MM-dd HH:mm:ss"}}
POST {{HostAddress}}/api/Message
Content-Type: application/json
[
{
"username": "myusername",
"message": {
"id": 12345678,
"date": "{{NowLocal}}",
"content": "Some message text"
}
}
]
无论我发送
{{NowLocal}}
还是 {{NowUtc}}
作为 date
字段,POST 请求中传递的值始终是 UTC。我的系统的本地时间是 CEST,所以我希望时间是 UTC+2,但正如所说的那样,事实并非如此。我还尝试将日期时间格式化为 iso8601 但这没有什么区别: NowUtc
和 NowLocal
包含相同的值。省略消息正文中日期字段周围的引号会导致验证错误,并且根本不会发送 POST 请求。
如果我设置
@NowLocal = {{$localDatetime "yyyy-MM-dd HH:mm:ss" +2 h}}
我会得到正确的当地时间,但当然这不是必需的。它只是证明localDatetime变量包含UTC。
我错过了一些明显的东西吗?