формат даты и времени java

#java #date

#java #Дата

Вопрос:

как отформатировать строку «2011-10-25T13:00:00Z» в дату и время

я использовал простой класс формата даты

 SimpleDateFormat sim=new SimpleDateFormat("yyyy-MM-dd");
 

но он дает только значение даты. не значения времени

пожалуйста, помогите мне решить эту проблему

Ответ №1:

Используйте формат "yyyy-MM-dd'T'HH:mm:ss'Z'" для синтаксического анализа этого формата даты. См. Документацию SimpleDateFormat для получения дополнительной информации. Код будет выглядеть следующим образом

 String dateStr = "2011-09-19T15:57:11Z";
String pattern = "yyyy-MM-dd'T'HH:mm:ss'Z'";
Date date = new SimpleDateFormat(pattern).parse(dateStr);
 

Ответ №2:

Это связано "yyyy-MM-dd" с тем, что упоминаются только year ( yyyy ), month ( MM ) и date ( dd ) . Попробуйте добавить hh:mm , если вам нужны часы и минуты.

Пример:

 SimpleDateFormat sim = new SimpleDateFormat("yyyy-MM-dd hh:mm");
System.out.println(sim.format(new Date()));  // prints "2011-10-27 01:56"
 

Полная документация по строке формата и ее частям находится здесь . Документация включает в себя этот пример:

"yyyy-MM-dd'T'HH:mm:ss.SSSZ" — 2001-07-04T12:08:56.235-0700

Возможно, это что-то подобное, что вы ищете.

Комментарии:

1. можете ли вы дать мне строку шаблона для этого

2. Добавлен пример из документации.

3. @surya: Вы пытались посмотреть документацию? Переполнение стека должно быть тем местом, о котором вы спрашиваете после прочтения документации и возникновения проблем с ней, а не заменой документации.

Ответ №3:

 var date=new Date();
date.toString();
var t=date.getFullYear() "-" date.getMonth() "-" date.getDate() "T" date.getHours() ":" date.getMinutes() "." date.getSeconds();
var t;
 

вывод: 2016-1-22T23:20.48