JAVA日期字符串转化,日期加减

时间:2022-06-12 20:38:26

SimpleDateFormat函数语法:
  G 年代标志符
  y 年
  M 月
  d 日
  h 时 在上午或下午 (1~12)
  H 时 在一天中 (0~23)
  m 分
  s 秒
  S 毫秒
  E 星期
  D 一年中的第几天
  F 一月中第几个星期几
  w 一年中第几个星期
  W 一月中第几个星期
  a 上午 / 下午 标记符 
  k 时 在一天中 (1~24)
  K 时 在上午或下午 (0~11)
  z 时区

1. 日期格式化为字符串

  1. import java.text.SimpleDateFormat;
  2. import java.util.Calendar;
  3. public class Test {
  4. /**
  5. * @param args
  6. */
  7. public static void main(String[] args) {
  8. SimpleDateFormat myFmt=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");
  9. SimpleDateFormat myFmt1=new SimpleDateFormat("yy/MM/dd HH:mm");
  10. SimpleDateFormat myFmt2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
  11. SimpleDateFormat myFmt3=new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒 E ");
  12. SimpleDateFormat myFmt4=new SimpleDateFormat("一年中的第 D 天 一年中第w个星期 一月中第W个星期 在一天中k时 z时区");
  13. Calendar now = Calendar.getInstance();
  14. System.out.println(myFmt.format(now.getTime()));
  15. System.out.println(myFmt1.format(now.getTime()));
  16. System.out.println(myFmt2.format(now.getTime()));
  17. System.out.println(myFmt3.format(now.getTime()));
  18. System.out.println(myFmt4.format(now.getTime()));
  19. System.out.println(now.getTime().toString());
  20. }
  21. }
  22. // 结果
  23. /**
  24. 2014年07月07日 23时32分19秒
  25. 14/07/07 23:32
  26. 2014-07-07 23:32:19
  27. 2014年07月07日 23时32分19秒 星期一
  28. 一年中的第 188 天 一年中第28个星期 一月中第2个星期 在一天中23时 JST时区
  29. Mon Jul 07 23:32:19 JST 2014
  30. */

2. 字符转日期

  1. import java.text.ParseException;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Date;
  4. public class Test {
  5. /**
  6. * @param args
  7. */
  8. public static void main(String[] args) {
  9. SimpleDateFormat myFmt=new SimpleDateFormat("yy/MM/dd HH:mm");
  10. try {
  11. Date date = myFmt.parse("2002/10/8 15:30:22");
  12. System.out.println(date);
  13. } catch (ParseException e) {
  14. e.printStackTrace();
  15. }
  16. }
  17. }
  18. //结果
  19. /**
  20. Tue Oct 08 15:30:00 JST 2002
  21. */

3. 日期年份,月份,天加减

  1. import java.text.ParseException;
  2. import java.text.SimpleDateFormat;
  3. import java.util.Calendar;
  4. import java.util.Date;
  5. public class Test {
  6. /**
  7. * ******** 在Calendar对象的add方法中,第二个参数为正数表示“加”,负数表示“减”。
  8. * @param args
  9. * @throws ParseException
  10. */
  11. public static void main(String[] args) throws ParseException {
  12. SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");
  13. String str = "20110823";
  14. Date dt = sdf.parse(str);
  15. Calendar rightNow = Calendar.getInstance();
  16. rightNow.setTime(dt);
  17. rightNow.add(Calendar.YEAR, -1);// 日期减1年
  18. System.out.println(sdf.format(rightNow.getTime()));
  19. rightNow.add(Calendar.MONTH, 3);// 日期加3个月
  20. System.out.println(sdf.format(rightNow.getTime()));
  21. rightNow.add(Calendar.DAY_OF_YEAR, 10);// 日期加10天
  22. System.out.println(sdf.format(rightNow.getTime()));
  23. }
  24. }
  25. // 结果
  26. /**
  27. 20100823
  28. 20101123
  29. 20101203
  30. */

链接地址:http://linleizi.iteye.com/blog/2089299