4.12 Tstamp Task:获取并格式化日期或时间
Tstamp 任务的作用是设定当前日期和时间的格式,可在target中使用。默认时日期的格式为yyyyMMdd(例如:20060516)。默认的时间格式为 hhmm(例如:12:00)。默认时Ant工具设定TODAY(今天)格式为MMMM dd yy(例如:May 05 06)。这些格式与Java的日期格式相同。
4.12.1 Tstamp Task的属性及功能
Tstamp 任务包含以下属性:
(1)property:用于定义一个属性名称,通过这个属性可以得到Tstamp格式化后的日期或时间。
(2)pattern:用于设定要格式化时间或日期的格式,与Java中的SimpleDateFormat类中的格式相同。
(3)timezone:用于指定格式化时的时区,与Java中的timezone类中定义的相同。
(4)unit:用于设定与当时时间相差的单位。可设为millisecond(毫秒)、second(秒)、minute(分钟)、hour(小时)、day(日)、week(周)、month(月)和year(年)。
(5)offset:用于设定与当前时间相差的值,单位由unit设定。
(6)locale:用于指定格式化的locale值(不同国家和语言有不同的值)。与Java中的Locale类指定的i18n国际化功能相同。用不同国家的日期格式。
4.12.2 通过Tstamp Task格式化日期和时间的例子
用Tstamp格式化日期的时间的例子如下:
<?xml version="1.0"?>
<project name="timestamp" default="timestampTarget">
<!-- //定义不同的日期格式 -->
<tstamp>
<format property="TODAY_UK" pattern="d-MMMM-yyyy" locale="en"/>
</tstamp>
<tstamp>
<format property="TODAY_CN" pattern="d-MMMM-yyyy" locale="zh"/>
</tstamp>
<tstamp>
<format property="touch.time" pattern="MM/dd/yyyy hh:mm aa" offset="-5" unit="hour"/>
</tstamp>
<!-- //输出的日期格式定义 -->
<target name="timestampTarget" >
<echo message="${DSTAMP}"/>
<echo message="${TODAY_UK}" />
<echo message="${TODAY_CN}" />
<echo message="${touch.time}" />
</target>
</project>
保存文件为timestamp.xml,然后在命令行中运行ant –f timestamp.xml。
这个例子的作用是:
● 通过${DSTAMP}获取Ant默认的日期格式。结果为20060708。
● 设定日期格式为d-MMMM-yyyy且使用英文语言。结果为8-July-2006。
● 设定日期格式为d-MMMM-yyyy且使用中文语言。结果为8-七月-2006。
● 设定日期和时间格式为MM/dd/yyyy hh:mm aa,同时设定时间为当前时间减去5个小时。结果为07/08/2006 04:46 下午,执行时间21:46。