ANT не является языком программирования общего назначения, поэтому вам нужно написать пользовательское задание или использовать что-то вроде groovy plugin
В следующем примере демонстрируется, как задача Groovy, использующая библиотеку Joda Time , может задать свойства, указанные вами.
<taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy" classpathref="build.path"/>
<groovy>
import org.joda.time.*
def now = new DateTime()
def midnight = new DateMidnight()
def year2000 = new DateTime(2000,1,1,0,0,0,0)
properties["year2000.days"] = Days.daysBetween(year2000, now).days
properties["midnight.seconds"] = Seconds.secondsBetween(midnight, now).seconds
properties["midnight.seconds.halved"] = Seconds.secondsBetween(midnight, now).dividedBy(2).seconds
</groovy>
Я не могу рекомендовать Joda Time достаточно высоко, стандартные манипуляции с датой и временем в Java просто отстой!
Дополнительные примечания
Для выполнения приведенной выше задачи потребуется следующий файл jar на вашем пути к классам:
- заводной-все-1.7.4.jar
- Joda-времени 1.6.1.jar
Я бы порекомендовал использовать плагин ivy для управления ими, добавив цель «разрешения», которая загружает файлы jar и автоматически устанавливает classpath:
<target name="resolve">
<ivy:resolve/>
<ivy:cachepath pathid="build.path"/>
</target>
Ниже приведен ivy.xml , в котором перечислены загружаемые зависимости:
<ivy-module version="2.0">
<info organisation="org.myspotontheweb" module="demo"/>
<dependencies>
<dependency org="org.codehaus.groovy" name="groovy-all" rev="1.7.4" conf="default"/>
<dependency org="joda-time" name="joda-time" rev="1.6.1" conf="default"/>
</dependencies>
</ivy-module>