c# - 避免在 Azure EventGrid 中将 DateTimeOffset 转换为 UTC 时间
问题描述
我一直在测试 Azure 的 EventGrid,我想做的一件事是发送一个事件,其中 PayLoad 的一部分是 DateTimeOffset 字段。我正在使用标准 EventGridClient 发布事件:
using (var client = new EventGridClient(topicCredentials))
{
await client.PublishEventsAsync(topicHostname, eventGridEvents).ConfigureAwait(false);
}
我已经启动了 Fiddler 并验证了日期部分正在按我的预期进行序列化:“CheckInDate”:“2018-12-26T14:47:42.8-08:00”
但是,当我订阅的 Azure Functions 侦听器接收到 HttpTrigger 并读取消息的内容时,相同的项目以某种方式被格式化为 UTC:“CheckInDate”:“2018-12-26T22:47:42.8+00:00”。
是否有设置或我需要启用它以保留原始偏移量?
解决方案
虽然在后端使用UTC通常是最佳实践(所以我会考虑保留它,除非有特定需要使用本地时间),但我认为您应该尝试将偏移量存储在专用字段中,然后进行转换使用该偏移量将其返回到接收方的相关本地时间。
查看DateTimeOffset Struct以了解如何进行转换。
希望能帮助到你!
推荐阅读
- javascript - 角柱可见性
- android - 如果我使用私人 sim 互联网而不连接全球互联网,那么在移动应用程序中我需要做什么设置?
- apache - Apache EC2 安装 ssl 证书
- google-bigquery - 将数据从 FCM/Firebase 流式传输到 BigQuery
- jquery - 面对未捕获的类型错误:无法在 jquery.event.drag-2.2.js:383 控制台中设置未定义的属性“touchcancel”
- c# - 时间:2019-05-10 标签:c#webform enable gridview edit delete,根本不使用sql
- swiftui - 如何在 SwiftUI 中从父视图更改子 @State 属性值?
- android - Flutter Geolocator 和 Google Maps:显示静态位置
- linux-kernel - linux内核图像字符串提取
- powerbi - 为桑基图创建输入