【问题标题】:What is the default TimeZone in AppVeyor?AppVeyor 中的默认时区是什么?
【发布时间】:2015-11-09 16:06:38
【问题描述】:

根据标题,AppVeyor 中的默认时区是什么?

我曾尝试向 Google 询问这件事...没有找到

【问题讨论】:

  • Appveyor 有很好的支持,为什么不直接问他们呢?
  • 时区默认值通常是本地计算机设置。
  • @jdweng 好的,但是 AppVeyor 的默认值是多少?
  • 我的猜测是 UTC - 或者至少应该是。尝试在构建脚本中添加“tzutil.exe /g”并查看。
  • 已由@RonBeyer 表示 AppVeyor 有很好的支持看看这个搜索结果help.appveyor.com/search?q=timezone&t=d&recommend=1

标签: javascript c# timezone appveyor


【解决方案1】:

我认为您不应该依赖当前为构建工作者设置的时区,但您应该配置自己所需的时区。可以使用tzutil 实用程序轻松完成,例如appveyor.yml

init: 
- tzutil /s "Mountain Standard Time"

您可以使用tzutil /l 命令列出所有可用区域。

【讨论】:

  • 小心,Windows 上的时区设置是系统范围的。同一台机器上可能还有其他进程。如果环境被正确隔离,您将无法执行此操作。真的,如果必须将服务器设置为任何特定的时区,那么这本身就是一个问题。构建脚本(或它所做的任何事情)应该只依赖于 UTC。
  • @MattJohnson 好的,你有什么建议?
  • @GianlucaGhettini - 好吧,你还没有说为什么你想改变时区,所以很难提出任何特别的建议。也许您可以编辑您的问题以显示您依赖于系统时区的代码。那我就可以适当的回答了。谢谢。
  • @MattJohnson 我想更改时区,因为我正在做一些依赖它的测试。我不想使用一些随机输入(即当前系统时区)运行测试,所以我想在测试之前设置它。我的本地测试环境和appveyor测试环境的时区不一样
  • 好吧,只要 Appveyor 的隔离像他们在主页上宣传的那样原始,那么使用tzutil 设置时区就可以了(+1 到 Fedor)。但我建议您考虑更改代码和测试可能更安全,这样他们就不会依赖它。例如,如果您的应用程序是 .NET,并且您的代码或测试包含 DateTime.Now 调用,则将其更改为 TimeZoneInfo.ConvertTimeFromUtct(DateTime.UtcNow, "Mountain Standard Time")。类似的技术也适用于其他环境。
【解决方案2】:

他们用于计划构建的 crontab 条目使用 UTC,所以我猜这就是他们整体使用的。

【讨论】:

    猜你喜欢
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 2016-04-16
    • 2014-01-07
    相关资源
    最近更新 更多