Как установить формат текущей даты и времени в другой формат?

Я использую следующий код для получения текущей даты и времени, а затем добавляю его в таблицу, используя следующий метод.

 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);
Другие вопросы по тегам