在 Phing 中获取时间和日期值

Phing 中的 tstamp 任务可用于生成可在当前项目中的任何地方使用的时间戳。tstamp 的默认行为是创建属性 DSTAMP、TSTAMP 和 TODAY,其中包含时间和日期值。您需要做的就是在您的项目中的某处包含 tstamp XML 标记。

<tstamp>

</tstamp>

DSTAMP、TSTAMP 和 TODAY 属性使用 PHPstrftime()函数作为格式化时间的基础。下表显示了每个属性的值。

财产格式例子
DSTAMP%Y%m%d20110610
TSTAMP%H%M1210
今天%B %d %Y2011 年 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

回到顶部