MSBuild MSBuildCommunityTasks任务时间

MSBuild MSBuildCommunityTasks任务时间,msbuild,msbuild-task,msbuildcommunitytasks,Msbuild,Msbuild Task,Msbuildcommunitytasks,我有一个MSBuild项目,希望将当前日期添加到我正在创建的zip文件中 我正在使用MSBuildCommunityTasks <!-- Import the CommunityTasks Helpper --> <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" /> 在网站上,我可以看到一个叫做时间的任务。我还没有找到关于

我有一个MSBuild项目,希望将当前日期添加到我正在创建的zip文件中

我正在使用MSBuildCommunityTasks

<!-- Import the CommunityTasks Helpper -->
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />

在网站上,我可以看到一个叫做时间的任务。我还没有找到关于如何使用时间的文件


<?xml version="1.0" encoding="utf-8"?>

<Project DefaultTargets="Deploy" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">

<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/>

  <!-- Include MSBuild tasks here -->

  <ItemGroup>     
      <DefaultExclude Include="****" />           
  </ItemGroup>


 <Target Name="Deploy" >

    <Time Format="yyyy-MM-dd">
    <Output TaskParameter="FormattedTime" PropertyName="buildDate" />
    </Time>

    <Message Text="Deploying ...."></Message>   

    <Copy  SourceFiles="@(DeploymentFiles)" DestinationFolder="C:\CCNET\$(buildDate)\bin\" />

</Target>

</Project>

所以我用

$([System.DateTime]::Now.ToString(`yyyy.MMdd`))

格式周围的那些记号是反记号而不是
马斯洛的回答是正确的(我不能对此发表评论,否则我会);我只想补充一点,当隐式调用System.DateTime.Parse时,您必须小心

$([System.DateTime]::Parse(“1970-01-01T00:00:00.0000000 Z”)
这样的解析字符串值似乎不会以一种
DateTimeKind.Utc
结束

但是您可以使用使其工作;如下所示(获取Unix时间戳):


$([System.DateTime]::UtcNow.Subtract($([System.DateTime]::Parse(“1970-01-01T00:00:00.0000000 Z”).ToUniversalTime()).TotalSeconds.ToString(“F0”))

MSBuild任务在您安装它的目录中包含一个CHM文件。每当我必须使用MSBuildCommunityTasks时,我总是将该文件保持打开状态。有关字符串格式的更多日期/时间,请参见:
$([System.DateTime]::Now.ToString(`yyyy.MMdd`))