在 Phing 中获取时间和日期值
Phing 中的 tstamp 任务可用于生成可在当前项目中的任何地方使用的时间戳。tstamp 的默认行为是创建属性 DSTAMP、TSTAMP 和 TODAY,其中包含时间和日期值。您需要做的就是在您的项目中的某处包含 tstamp XML 标记。
<tstamp></tstamp>
DSTAMP、TSTAMP 和 TODAY 属性使用 PHPstrftime()函数作为格式化时间的基础。下表显示了每个属性的值。
财产 | 格式 | 例子 |
---|---|---|
DSTAMP | %Y%m%d | 20110610 |
TSTAMP | %H%M | 1210 |
今天 | %B %d %Y | 2011 年 6 月 10 日 |
一旦您添加了 tstamp XML 标记,您就可以以任何您想要的方式访问这些属性。下面的目标定义了 tstamp 标签,然后打印出三个属性的值。
<target name="tstamp">
<tstamp>
<echo>DSTAMP = ${DSTAMP}</echo>
<echo>TSTAMP = ${TSTAMP}</echo>
<echo>TODAY = ${TODAY}</echo>
</tstamp></target>
运行时会打印出以下内容:
build > printtime:
[echo] DSTAMP = 20110610
[echo] TSTAMP = 1125
[echo] TODAY = June 10 2011
如果您想为这些属性添加前缀,那么您可以使用 tstamp 属性的 prefix 属性来完成。您在此处添加的任何值都需要访问任何 tstamp 属性。例如,如果前缀设置为“mytime”,则需要通过“mytime.DSTAMP”访问 DSTAMP 属性。以下是以这种方式访问所有三个参数的示例。
<target name="prefixtstamp"><tstamp prefix="mytime">
<echo>DSTAMP = ${mytime.DSTAMP}</echo>
<echo>TSTAMP = ${mytime.TSTAMP}</echo>
<echo>TODAY = ${mytime.TODAY}</echo>
</tstamp></target>
创建 tstamp 元素时,还可以使用自定义格式创建自定义 tstamp 属性。为此,您需要创建一个带有子格式元素的 tstamp 元素。property 属性定义要设置的属性的名称,pattern 属性设置时间戳的模式。这种格式的模式与strftime()手册页上的详细说明相同。下面将 DATE 参数设置为 %c,这是基于本地的首选日期和时间戳。
<target name="format"><tstamp>
<format pattern="%c" property="DATE">
</format></tstamp>
<echo>DATE = ${DATE}</echo>
</target>
这会产生以下输出。
build > format:
[echo] DATE = Fri Jun 10 21:53:06 2011
格式元素的属性名称也可以通过使用 tstamp 元素上的前缀属性来更改。
也可以使用格式元素覆盖默认的 tstamp 属性名称之一。重要的是要注意,只有在尚未使用 tstamp 元素时覆盖才会起作用。以下示例显示了覆盖 tstamp 属性 TSTAMP 的失败,因为 tstamp 元素已被使用。如果删除了第一个 tstamp 元素,此示例将产生正确的输出。
<target name="overridefail"><tstamp>
<tstamp>
<format pattern="%c" property="TSTAMP">
</format></tstamp>
<echo>TSTAMP = ${TSTAMP}</echo>
</tstamp></target>
您还可以设置格式化时间的区域设置,以便将其转换为特定于区域的格式。语言环境字符串与可以传递给 PHPsetlocale()函数的字符串相同。此功能在很大程度上取决于服务器和平台配置,但如果无法识别区域设置字符串,它将始终默认返回系统语言。以下示例将语言环境设置为西班牙语言(在西班牙境内),并将日期格式设置为包含一些日和月名称,以完全显示不同的语言。
<target name="formatspanish"><tstamp>
<format locale="Spanish_Spain" pattern="%A %d %B (%c)" property="SpanishDate">
</format></tstamp>
<echo>SpanishDate = ${SpanishDate}</echo>
</target>
该函数的输出如下:
build > formatspanish:
[echo] SpanishDate = viernes 10 junio (vie 10 jun 2011 20:27:23 BST)
我应该注意到上述设置“spanish_Spain”来自 Windows 环境。对于 Ubuntu linux 环境,我必须安装适当的语言包,然后将上面的语言环境字符串更改为以下内容:
以上是 在 Phing 中获取时间和日期值 的全部内容, 来源链接: utcz.com/z/331735.html