Как установить формат текущей даты и времени в другой формат?
Я использую следующий код для получения текущей даты и времени, а затем добавляю его в таблицу, используя следующий метод.
Change 2013-07-29 23:20:34.0 to 29th July 2013, 11:20 PM
DateTime
public Date getCurrentDateTime() {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date();
System.out.println("current:" + dateFormat.format(date));
return date;
}
зимовать
@Temporal(javax.persistence.TemporalType.TIMESTAMP)
public Date getCurrentDateTime() {
return date;
}
3 ответа
Чтобы изменить день на порядковый номер, необходимо использовать следующий суффикс. посмотрите и на эту ссылку
DD + TH = DDTH result >>>> 4TH
OR to spell the number add SP to the format
DD + SPTH = DDSPTH result >>> FOURTH
Также используйте библиотеку fmt для форматирования даты на страницах jsp
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<fmt:formatDate type="both" dateStyle="long" timeStyle="short"
value="${date}"/>
Date
Объект не имеет формата. нет (ни java.sql.Date
ни java.util.Date
.) База данных будет просто хранить ее в таблице в любом родном представлении, которое она выберет (почти наверняка, не в текстовом виде), и когда вы извлекаете данные, вы можете отформатировать их так, как вам удобно.
Чтобы изменить формат, используемый System.out.println
просто измените шаблон, который вы передаете SimpleDateFormat
Конструктор - см. документацию для деталей. Обратите внимание, что вы должны учитывать, какой часовой пояс и Locale
Вас также интересует - например, названия месяцев не будут одинаковыми в разных локалях, и разные локали также имеют разные ожидаемые форматы. (Даже на одном языке существуют разные соглашения.)
Вы найдете "th" из "29-го" трудно справиться с SimpleDateFormat
- Я не верю, что это поддерживает ординалов. Этот вопрос может помочь вам, хотя. (Заметим, это будет ужасный код - я бы предложил изменить формат, чтобы убрать порядковый номер, если возможно).
Что-то похожее на это??
для зимней спячки
SimpleDateFormat format = new SimpleDateFormat("dd-MM-yyyy");
String dateBufferString = format.format(date);
Date dateBuffer;
try {
dateBuffer = format.parse(dateBufferString);
System.out.println("Database Date Format :" + date);
System.out.println("(dd-MM-yyyy) date: " + format.format(date));
System.out.println("dateBufferSTring " + dateBufferString);
System.out.println("dateBuffer: " + dateBuffer);