Какие форматы даты доступны, например, в simpledateformat класс?


может ли кто-нибудь сообщить мне о форматах даты, доступных в классе SimpleDateFormat.

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

3 51

3 ответа:

форматы даты и времени хорошо описаны ниже

SimpleDateFormat (Java Platform SE 7) - Шаблоны даты и времени

не может быть n количество форматов, которые вы можете сделать. экс - dd/MM/yyyy или YYYY-'W'ww-u или вы можете смешивать и сопоставлять буквы для достижения требуемого шаблона. Шаблон письма являются следующие.

  • G - обозначение эпохи (AD)
  • y - год (1996; 96)
  • Y - Неделя Год (2009; 09)
  • M - месяц в году (июль; Июль; 07)
  • w - Неделя в году (27)
  • W - Неделя в месяц (2)
  • D - день в году (189)
  • d - день в месяце (10)
  • F - день недели в месяце (2)
  • E - название дня в неделю (вторник; Туэ)
  • u - номер дня недели (1 = Понедельник, ..., 7 = воскресенье)
  • a - AM/PM маркер
  • H - в час дня (0-23)
  • k - час в сутки (1-24)
  • K - час в am / pm (0-11)
  • h - час в am / pm (1-12)
  • m минут в час (30)
  • s - секунда в минуту (55)
  • S - миллисекунды (978)
  • z - общий часовой пояс (Pacific Standard Time; PST; GMT-08: 00)
  • Z - часовой пояс RFC 822 (-0800)
  • X - часовой пояс ISO 8601(-08; -0800; -08:00)

позвольте мне выбросить пример кода, который я получил от http://www3.ntu.edu.sg/home/ehchua/programming/java/DateTimeCalendar.html тогда вы можете играть с различными вариантами, пока не поймете это.

import java.text.SimpleDateFormat;
import java.util.Date;

public class DateTest {
   public static void main(String[] args) {
       Date now = new Date();

       //This is just Date's toString method and doesn't involve SimpleDateFormat
       System.out.println("toString(): " + now);  // dow mon dd hh:mm:ss zzz yyyy
       //Shows  "Mon Oct 08 08:17:06 EDT 2012"

       SimpleDateFormat dateFormatter = new SimpleDateFormat("E, y-M-d 'at' h:m:s a z");
       System.out.println("Format 1:   " + dateFormatter.format(now));
       // Shows  "Mon, 2012-10-8 at 8:17:6 AM EDT"

       dateFormatter = new SimpleDateFormat("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
       System.out.println("Format 2:   " + dateFormatter.format(now));
       // Shows  "Mon 2012.10.08 at 08:17:06 AM EDT"

       dateFormatter = new SimpleDateFormat("EEEE, MMMM d, yyyy");
       System.out.println("Format 3:   " + dateFormatter.format(now));
       // Shows  "Monday, October 8, 2012"

       // SimpleDateFormat can be used to control the date/time display format:
       //   E (day of week): 3E or fewer (in text xxx), >3E (in full text)
       //   M (month): M (in number), MM (in number with leading zero)
       //              3M: (in text xxx), >3M: (in full text full)
       //   h (hour): h, hh (with leading zero)
       //   m (minute)
       //   s (second)
       //   a (AM/PM)
       //   H (hour in 0 to 23)
       //   z (time zone)
       //  (there may be more listed under the API - I didn't check)

   }

}

удачи!

проверьте форматы здесь http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

главная

System.out.println("date  : " + new classname().getMyDate("2014-01-09 14:06", "dd-MMM-yyyy E hh:mm a z", "yyyy-MM-dd HH:mm"));

метод

 public String getMyDate(String myDate, String returnFormat, String myFormat)
            {
                DateFormat dateFormat = new SimpleDateFormat(returnFormat);
                Date date=null;
                String returnValue="";
                try {
                    date = new SimpleDateFormat(myFormat, Locale.ENGLISH).parse(myDate);
                    returnValue = dateFormat.format(date);
                } catch (ParseException e) {
                    returnValue= myDate;
                    System.out.println("failed");
                    e.printStackTrace();
                }

            return returnValue;
            }