У меня есть дата в формате Mon Nov 01 00:00:00 PDT 2010 Я хочу формат MM / гггг.

 import java.text.SimpleDateFormat;
 import java.text.ParseException;

 Date str='Mon Nov 01 00:00:00 PDT 2010'

 try {         
 SimpleDateFormat sdf = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy");        
 Date date = sdf.parse("Mon Nov 01 00:00:00 PDT 2010");         
 System.out.println("date: " + date.toString());    
 } 
 catch (ParseException ex) {        
 ex.printStackTrace();    
 }

Как получить только формат MM / гггг из строки в переменную, чтобы я мог использовать его для отображения.

-1
Studentlearner 2 Май 2019 в 11:08

3 ответа

Лучший ответ

Альтернативный подход для Groovy 2.5+ на Java 8

new Date('Mon Nov 01 00:00:00 PDT 2010').toLocalDate().format('MM/yyyy')
1
bdkosher 2 Май 2019 в 19:44

Вы можете использовать методы Groovy parse и format следующим образом:

String str = 'Mon Nov 01 00:00:00 PDT 2010'

String monthAndYear = Date.parse('EEE MMM dd HH:mm:ss Z yyyy', str).format('MM/yyyy')
2
tim_yates 2 Май 2019 в 10:36

Используйте Date.format() (для этого используется String.format ()) для преобразования проанализированной даты в строку, содержащую MM / гггг

1
Stefan Rother-Stübs 2 Май 2019 в 08:58