Java中的日期与时间获取与转换?

  • 如何取得年、月、日、时、分、秒、毫秒、纳秒?
  • 如何取得从1970年1月1日0时0分0秒到现在的毫秒数?
  • 如何取得某月的最后一天?
  • 如何格式化日期?

参考答案

  • JDK1.8 之前,使用 java.util.Calendar
  • JDK1.8 提供了 java.time 包
  • 还有第三方时间类库 Joda-Time 也可以
  1. package constxiong.interview;
  2. import java.text.SimpleDateFormat;
  3. import java.time.LocalDate;
  4. import java.time.LocalDateTime;
  5. import java.time.LocalTime;
  6. import java.time.MonthDay;
  7. import java.time.Year;
  8. import java.time.format.DateTimeFormatter;
  9. import java.util.Calendar;
  10. import java.util.Date;
  11. /**
  12. * 测试时间和日期
  13. * @author ConstXiong
  14. * @date 2019-11-01 11:05:59
  15. */
  16. public class TestDateAndTime {
  17. public static void main(String[] args) {
  18. //获取当前的年、月、日、时、分、秒、毫秒、纳秒
  19. //年
  20. System.out.println(Calendar.getInstance().get(Calendar.YEAR));
  21. //JDK 1.8 java.time 包
  22. System.out.println(Year.now());
  23. System.out.println(LocalDate.now().getYear());
  24. //月
  25. System.out.println(Calendar.getInstance().get(Calendar.MONTH)+1);
  26. //JDK 1.8 java.time 包
  27. System.out.println(MonthDay.now().getMonthValue());
  28. System.out.println(LocalDate.now().getMonthValue());
  29. //日
  30. System.out.println(Calendar.getInstance().get(Calendar.DAY_OF_MONTH));
  31. //JDK 1.8 java.time 包
  32. System.out.println(MonthDay.now().getDayOfMonth());
  33. System.out.println(LocalDate.now().getDayOfMonth());
  34. //时
  35. System.out.println(Calendar.getInstance().get(Calendar.HOUR_OF_DAY));
  36. //JDK 1.8 java.time 包
  37. System.out.println(LocalTime.now().getHour());
  38. //分
  39. System.out.println(Calendar.getInstance().get(Calendar.MINUTE));
  40. //JDK 1.8 java.time 包
  41. System.out.println(LocalTime.now().getMinute());
  42. //秒
  43. System.out.println(Calendar.getInstance().get(Calendar.SECOND));
  44. //JDK 1.8 java.time 包
  45. System.out.println(LocalTime.now().getSecond());
  46. //毫秒
  47. System.out.println(Calendar.getInstance().get(Calendar.MILLISECOND));
  48. //纳秒
  49. System.out.println(LocalTime.now().getNano());
  50. //当前时间毫秒数
  51. System.out.println(System.currentTimeMillis());
  52. System.out.println(Calendar.getInstance().getTimeInMillis());
  53. //某月最后一天
  54. //2018-05月最后一天,6月1号往前一天
  55. Calendar c = Calendar.getInstance();
  56. c.set(Calendar.YEAR, 2018);
  57. c.set(Calendar.MONTH, 5);
  58. c.add(Calendar.DAY_OF_MONTH, -1);
  59. System.out.println(c.get(Calendar.YEAR) + "-" + (c.get(Calendar.MONTH)+1) + "-" + c.get(Calendar.DAY_OF_MONTH));
  60. //JDK 1.8 java.time 包
  61. LocalDate date = LocalDate.of(2019, 6, 1).minusDays(1);
  62. System.out.println(date.getYear() + "-" + date.getMonthValue() + "-" + date.getDayOfMonth());
  63. //格式化日期
  64. System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
  65. //JDK 1.8 java.time 包
  66. System.out.println(LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
  67. }
  68. }

 

Java

GB2312编码的字符串如何转换为ISO-8859-1编码?

2020-7-23 20:56:11

Java

反射主要实现类有哪些?

2020-7-23 20:56:43

本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策。若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
⚠️
本站所发布的一切源码、模板、应用等文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版,购买注册,得到更好的正版服务。如有侵权。本站内容适用于DMCA政策
若您的权利被侵害,请与我们联系处理,站长 QQ: 84087680 或 点击右侧 私信:盾给网 反馈,我们将尽快处理。
0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
私信列表
搜索