#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