Java中日期和时间的获取

ゞ 浴缸里的玫瑰 2022-06-01 06:14 333阅读 0赞

1.简单的获取日期的方法

  1. import java.time.LocalDate;
  2. import java.time.LocalDateTime;
  3. public class GetDatatime {
  4. public static void main(String[] args) {
  5. LocalDateTime localdatetime=LocalDateTime.now();//新建一个LocalDateTime对象获取时间
  6. System.out.println(localdatetime); //直接输出对象
  7. }
  8. }

2.年 月 日 一个一个用不同的atxxx方法连接在一起。(atxxx 把这个对象与另一个对象组合起来)

时间的类有点多。-_-|| 先掌握这些吧。没见过的再查手册吧。

  1. import java.time.LocalDate;
  2. import java.time.MonthDay;
  3. import java.time.Year;
  4. import java.time.YearMonth;
  5. public class LeapYear {
  6. public static void main(String[] args) {
  7. Year year1=Year.of(2018); //用指定的年获取一个year
  8. YearMonth yearmonth=year1.atMonth(1); //组合
  9. System.out.println(year1);
  10. System.out.println(yearmonth);
  11. LocalDate localDate2=yearmonth.atDay(22);//组合
  12. System.out.println(localDate2);
  13. System.out.println("是否为闰年:"+localDate2.isLeapYear());
  14. MonthDay monthday=MonthDay.of(2, 29);
  15. LocalDate leapYear =monthday.atYear(2012); //组合
  16. System.out.println(leapYear);
  17. LocalDate nonleapYear=monthday.atYear(2014);//组合
  18. System.out.println(nonleapYear);
  19. }
  20. }

2018
2018-01
2018-01-22
是否为闰年:false
2012-02-29
2014-02-28

很神奇,2014年不是闰年,利用at方法组合时自动将日期减1

原来atYear( )源码如下

  1. public LocalDate atYear(int year) {
  2. return LocalDate.of(year, month, isValidYear(year) ? day : 28);
  3. }

3.要求输出以下时间格式

2018-01-22
2018-01-22 16:36:55:079.
2018年01月22日
2018年01月22日 16时36分55秒079毫秒

这就要用到将时间对象格式化的方法了。

参加下面代码的getDate()方法 和getDate2()方法

Calendar.get(Calendar.HOUR))来获取当前小时,同理分钟、秒、毫秒。

其中关于更多Java Calendar类的操作有一篇文章,可以抽空看看,当然手册肯定是最全的。

这篇文的地址:http://blog.csdn.net/joyous/article/details/9630893

  1. import java.time.LocalDate;
  2. import java.time.format.DateTimeFormatter;
  3. import java.util.Calendar;
  4. import java.util.GregorianCalendar;
  5. import java.util.Locale;
  6. public class EX15 {
  7. Calendar calendar = Calendar.getInstance(Locale.CHINA);//创建一个日历实例,用的中国当地时间
  8. public String getDate ()
  9. {
  10. LocalDate localDate = LocalDate.now(); //获取当前时间
  11. DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd");//制定格式化规则
  12. String str = localDate.format(f); //将当前时间格式化
  13. return str;
  14. }
  15. public String getTime()
  16. {
  17. StringBuffer str=new StringBuffer();
  18. str.append(getDate()).append(" ");
  19. str.append(this.addzero((calendar.get(calendar.HOUR)+12)%24, 2)).append(":");
  20. str.append(this.addzero(calendar.get(calendar.MINUTE), 2)).append(":");
  21. str.append(this.addzero(calendar.get(calendar.SECOND), 2)).append(":");
  22. str.append(this.addzero(calendar.get(calendar.MILLISECOND), 3)).append(".");
  23. return str.toString();
  24. }
  25. public String getDate2() //同理getDate2()
  26. {
  27. LocalDate localDate = LocalDate.now();
  28. DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy年MM月dd日");
  29. String str = localDate.format(f);
  30. return str;
  31. }
  32. public String getTime2()
  33. {
  34. StringBuffer str=new StringBuffer();
  35. str.append(getDate2()).append(" ");
  36. str.append(this.addzero((calendar.get(calendar.HOUR)+12)%24, 2)).append("时");
  37. str.append(this.addzero(calendar.get(calendar.MINUTE), 2)).append("分");
  38. str.append(this.addzero(calendar.get(calendar.SECOND), 2)).append("秒");
  39. str.append(this.addzero(calendar.get(calendar.MILLISECOND), 3)).append("毫秒");
  40. return str.toString();
  41. }
  42. public String addzero(int temp,int len) //此方法用来首位补零
  43. {
  44. StringBuffer add=new StringBuffer();
  45. add.append(temp);
  46. while(add.length()<len)
  47. {
  48. add.insert(0,0);
  49. }
  50. return add.toString();
  51. }
  52. public static void main(String[] args) {
  53. // TODO Auto-generated method stub
  54. System.out.println(new EX15().getDate());
  55. System.out.println(new EX15().getTime());
  56. System.out.println(new EX15().getDate2());
  57. System.out.println(new EX15().getTime2());
  58. }
  59. }

发表评论

表情:
评论列表 (有 0 条评论,333人围观)

还没有评论,来说两句吧...

相关阅读

    相关 java 获取日期时间方法总结

      Java获取日期和时间方法总结  在写Java程序的时候总免不了与日期和时间打交道,特别是在做项目的时候,要按照各种各样的需求显示不同格式的日期和时间,这时候就需要