我想让我的日期变成这样的格式:2010-10-01
我该怎么做?
另外,我从另一个问题中抓住了这个问题:
use (groovy.time.TimeCategory) {
Date date = Date.parse("dd-MMM-yyyy", "15-Mar-2011")
def months = (0..11).collect {
(date + it.months).format("MMM/yyyy")
}
}
如何将此脚本的输出更改为上面指定的格式?感谢:)
答案 0 :(得分:3)
为了从字符串解析出来:
Date.parse( "yyyy-M-d", "2010-10-01" )
为了格式化您已有的日期:
def yourDate= new GregorianCalendar( 2010, Calendar.OCTOBER, 1 )
assert String.format('%tY-%<tm-%<td', yourDate) == '2010-10-01'
groovy:000> yourDate= new GregorianCalendar( 2010, Calendar.OCTOBER, 1 )
===> java.util.GregorianCalendar[...]
groovy:000> print String.format('%tY-%<tm-%<td', yourDate)
2010-10-01===> null
groovy:000>
及其后退:
groovy:000> Date.parse( "yyyy-M-d", String.format('%tY-%<tm-%<td', yourDate) )
===> Fri Oct 01 00:00:00 EDT 2010
当前日期:
groovy:000> yourDate = Calendar.instance
===> java.util.GregorianCalendar[..]
groovy:000> print String.format('%tY-%<tm-%<td', yourDate)
2011-11-03===> null
答案 1 :(得分:0)
这现在也可以使用:
def yourDate = new GregorianCalendar( 2010, Calendar.OCTOBER, 1 )
assert yourDate.format('yyyy-MM-dd') == '2010-10-01'