Какие форматы даты доступны, например, в simpledateformat класс?
может ли кто-нибудь сообщить мне о форматах даты, доступных в классе SimpleDateFormat.
Я прошел через api, но не смог найти удовлетворительного ответа.Любая помощь высоко ценится.
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; }