Подтвердить что ты не робот

Java/Groovy - простая переформатирование даты

Я новичок в разработке Java/ Groovy, и у меня есть простая строка, которую я хотел бы переформатировать, однако я получаю ошибку "Неспавная дата", когда я пытаюсь запустить следующее:

import java.text.SimpleDateFormat 
import java.util.Date

String oldDate
Date date
String newDate 

oldDate = '04-DEC-2012'
date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.S").parse(oldDate)
newDate = new SimpleDateFormat("M-d-yyyy").format(date) 

println newDate

Я уверен, что это что-то простое, но решение ускользает от меня. Может ли кто-нибудь помочь?

4b9b3361

Ответ 1

С Groovy вам не нужны входящие и могут просто делать:

String oldDate = '04-DEC-2012'
Date date = Date.parse( 'dd-MMM-yyyy', oldDate )
String newDate = date.format( 'M-d-yyyy' )

println newDate

Для печати:

12-4-2012

Ответ 2

Ваш шаблон DateFormat не соответствует введенной дате String. Вы можете использовать

new SimpleDateFormat("dd-MMM-yyyy")

Ответ 3

oldDate не находится в формате SimpleDateFormat, который вы используете для его анализа.

Попробуйте этот формат: dd-MMM-yyyy - Он соответствует тому, что вы пытаетесь проанализировать.