gpt4 book ai didi

c# - 控制台应用程序作为连续的 Azure Webjob 不会转换 UTC 格式的 Time.ToUniversalTime()

转载 作者:行者123 更新时间:2023-12-03 01:07:27 24 4
gpt4 key购买 nike

我有一个简单的控制台应用程序在Azure中作为连续Web作业运行,在本地调试时,当我使用转换时间时,它会给出正确的UTC输出时间 new DateTime(Time).ToUniversalTime()但是当我在 webjob 中运行它时,它仍然给出本地时间而不是世界时间。

Console.WriteLine(MyData.Time.ToUniversalTime() + ""+ DateTime.Now.ToUniversalTime());

太平洋标准时间下午 3:43

Kudu 控制台(网络作业):2017 年 6 月 7 日 3:38:46 PM 2017 年 6 月 7 日 10:43:52 PM

本地控制台:2017年6月7日10:38:46 PM 2017年6月7日10:43:52 PM

最佳答案

此行为是设计使然,与 Azure 无关。当你写的时候

var dt = new DateTime(2017, 05, 23, 8, 00, 00, 0);

它将其视为本地时间。因此,当然,您会根据所在计算机的时区获得不同的 UTC 时间(对于 Azure VM,恰好与 UTC 时间相同)。

要将您输入的时间视为 UTC,您需要编写:

var dt2 = DateTime.SpecifyKind(dt, DateTimeKind.Utc);

另请参阅C# DateTime to UTC Time without changing the time

关于c# - 控制台应用程序作为连续的 Azure Webjob 不会转换 UTC 格式的 Time.ToUniversalTime(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44421434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com