Azure ARM模板如何从utcnow函数获取正确的语法,以Runbook开始时间

时间:2019-04-30 15:14:31

标签: azure azure-resource-manager arm-template

它应该像这样:

"startTime": "2019-03-29T23:30:00+01:00"

默认情况下,我得到

20190430T151332Z

但是我不知道如何获得所需的语法。使用ARM模板utcnow函数是否可行?如果是,怎么办?

2 个答案:

答案 0 :(得分:1)

您需要使用标准的dotnet自定义格式。如here所述。

"[utcnow('yyyy-MM-dd THH:mm:ss zzzz')]"

这似乎很好,除了它不返回您的TZ,而是返回ARM TZ,因此它始终返回+00:00。因此使用它没有任何意义。

答案 1 :(得分:1)

为获得所需的语法,正确的答案是正确的,但不能解决以下错误问题:在计划中使用“计划的开始时间必须在创建计划的时间之后至少5分钟”。要解决此问题,只需使用dateTimeAdd添加所需的小时数即可。例如,如果您要在部署后的一小时内开始计划:

"scheduleTime": {
  "type": "string",
  "defaultValue": "[dateTimeAdd(utcNow('u'), 'PT1H', 'yyyy-MM-dd THH:mm:ss zzzz')]"
}