NAnt <tstamp>可以将星期几格式化为字母,就像Java的SimpleDateFormat“E”模式一样吗?</tstamp>

时间:2009-05-06 17:15:37

标签: nant

searched SO据我所知,这还没有被问过。

我想在NAnt中这样做:

<tstamp property="Now" pattern="EEE MMM dd, HH:mm"/>

希望得到如下结果:“Tue May 15,09:05”

doc for NAnt 未明确提供允许的模式字母列表。我认为它可能会像Ant那样有效,所以我检查了doc for Ant ,其中说:

  

日期/时间模式在Java SimpleDateFormat类中定义。

SimpleDateFormat文档显示:

  星期二,星期二;周二

这就是为什么我在NAnt中编写我的模式(上图)。不幸的是,我得到的输出是:“EEE 5月6日,12:27”,所以看起来E不受支持。

我的解决方法是检查${datetime::get-day-of-week(datetime::now())}并使用一堆ifs设置我自己的dayofweektext属性,ala:

<if test="${datetime::get-day-of-week(datetime::now()) == '0'}">
    <property name = "dayofweektext" value = "Sun"/>
</if>

然后使用它:

<tstamp property="Now" pattern="${dayofweektext} MMM dd, HH:mm" />

但是所有的ifs都会造成很多混乱。


是否有可以满足我想要的模式?

2 个答案:

答案 0 :(得分:1)

dddd MMM dd,HH:mm

答案 1 :(得分:1)

这对我有用......

<tstamp>
    <format property="build.date" pattern="E MMM dd HH:mm:ss z yyyy"/>
</tstamp>

并制作......

build.date=Mon Mar 14 11:27:08 PDT 2011