Как изменить формат даты Groovy - PullRequest
2 голосов
/ 03 ноября 2011

Я хочу получить мои даты в таком формате: 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") 
}

}

Как изменить вывод этого сценария на формат, указанный выше?Спасибо:)

Ответы [ 2 ]

3 голосов
/ 03 ноября 2011

Чтобы разобрать его из строки:

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
0 голосов
/ 16 октября 2018

Теперь это также работает:

def yourDate = new GregorianCalendar( 2010, Calendar.OCTOBER, 1 )
assert yourDate.format('yyyy-MM-dd') == '2010-10-01'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...