Tstamp

描述

在当前项目中设置 DSTAMPTSTAMPTODAY 属性。默认情况下,DSTAMP 属性的格式为 yyyyMMddTSTAMP 的格式为 hhmmTODAY 的格式为 MMMM dd yyyy。使用嵌套的 <format> 元素指定不同的格式。

这些属性可以在构建文件中使用,例如,创建带时间戳的文件名,或者用于替换文档中的占位符标签,以指示发布日期等。此任务的最佳位置可能是在初始化目标中。

从 Ant 1.10.2 开始,可以使用魔法属性 ant.tstamp.now 指定固定日期值以创建可重复构建。它的值必须是数字,并被解释为自纪元(1970-01-01 午夜)以来的秒数。使用 ant.tstamp.now.iso,您也可以以 ISO-8601 格式(1972-04-17T08:07:00Z)指定该值。如果您以无效格式指定值,将记录一条 INFO 消息,并且该值将被忽略。

从 Ant 1.10.8 开始,将尊重 SOURCE_DATE_EPOCH 环境变量的值(如果已设置)以进行 可重复构建。如果为该环境变量指定了无效值(无法解析为整数的值),Ant 将记录一条 DEBUG 消息,并将改为使用“当前”日期。

参数

属性 描述 必需
prefix 用于设置的所有属性的前缀。 否;默认情况下没有前缀

作为嵌套元素指定的参数

该任务支持一个 <format> 嵌套元素,该元素允许将属性设置为以给定格式的当前日期和时间。日期/时间模式如 Java SimpleDateFormat 类中所定义。format 元素还允许对时间应用偏移量以生成不同的时间值。

属性 描述 必需
property 接收以给定模式的日期/时间字符串的属性。
pattern 要使用的日期/时间模式。这些值由 Java SimpleDateFormat 类定义。
timezone 用于显示时间的时区。这些值由 Java TimeZone 类定义。
offset 对当前时间的数字偏移量
unit 要应用于当前时间的偏移量的单位。有效值为
  • 毫秒
  • 分钟
  • 小时
locale 用于创建日期/时间字符串的区域设置。一般形式为 language[, country[, variant]](可以省略 variantvariantcountry)。有关更多信息,请参阅 Locale 类的文档。

示例

根据默认格式设置标准 DSTAMPTSTAMPTODAY 属性。

<tstamp/>

设置标准属性以及使用英语区域设置的属性 TODAY_UK,其日期/时间模式为 d-MMMM-yyyy(例如,21-May-2001)。

<tstamp>
    <format property="TODAY_GB" pattern="d-MMMM-yyyy" locale="en,GB"/>
</tstamp>

在属性 touch.time 中创建一个时间戳,该时间戳比当前时间早 5 个小时。此示例中的格式适合与 <touch> 任务一起使用。标准属性也已设置。

<tstamp>
    <format property="touch.time" pattern="MM/dd/yyyy hh:mm aa"
            offset="-5" unit="hour"/>
</tstamp>

使用 start. 前缀设置三个属性,其标准格式为:start.DSTAMPstart.TSTAMPstart.TODAY

<tstamp prefix="start"/>