1.简单的获取日期的方法
import java.time.LocalDate; import java.time.LocalDateTime; public class GetDatatime { public static void main(String[] args) { LocalDateTime localdatetime=LocalDateTime.now();//新建一个LocalDateTime对象获取时间 System.out.println(localdatetime); //直接输出对象 } }2.年 月 日 一个一个用不同的atxxx方法连接在一起。(atxxx 把这个对象与另一个对象组合起来)
时间的类有点多。-_-|| 先掌握这些吧。没见过的再查手册吧。
import java.time.LocalDate; import java.time.MonthDay; import java.time.Year; import java.time.YearMonth; public class LeapYear { public static void main(String[] args) { Year year1=Year.of(2018); //用指定的年获取一个year YearMonth yearmonth=year1.atMonth(1); //组合 System.out.println(year1); System.out.println(yearmonth); LocalDate localDate2=yearmonth.atDay(22);//组合 System.out.println(localDate2); System.out.println("是否为闰年:"+localDate2.isLeapYear()); MonthDay monthday=MonthDay.of(2, 29); LocalDate leapYear =monthday.atYear(2012); //组合 System.out.println(leapYear); LocalDate nonleapYear=monthday.atYear(2014);//组合 System.out.println(nonleapYear); } }
2018
2018-01
2018-01-22
是否为闰年:false
2012-02-29
2014-02-28
很神奇,2014年不是闰年,利用at方法组合时自动将日期减1
原来atYear( )源码如下
public LocalDate atYear(int year) { return LocalDate.of(year, month, isValidYear(year) ? day : 28); }
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
import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.Locale; public class EX15 { Calendar calendar = Calendar.getInstance(Locale.CHINA);//创建一个日历实例,用的中国当地时间 public String getDate () { LocalDate localDate = LocalDate.now(); //获取当前时间 DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy-MM-dd");//制定格式化规则 String str = localDate.format(f); //将当前时间格式化 return str; } public String getTime() { StringBuffer str=new StringBuffer(); str.append(getDate()).append(" "); str.append(this.addzero((calendar.get(calendar.HOUR)+12)%24, 2)).append(":"); str.append(this.addzero(calendar.get(calendar.MINUTE), 2)).append(":"); str.append(this.addzero(calendar.get(calendar.SECOND), 2)).append(":"); str.append(this.addzero(calendar.get(calendar.MILLISECOND), 3)).append("."); return str.toString(); } public String getDate2() //同理getDate2() { LocalDate localDate = LocalDate.now(); DateTimeFormatter f = DateTimeFormatter.ofPattern("yyyy年MM月dd日"); String str = localDate.format(f); return str; } public String getTime2() { StringBuffer str=new StringBuffer(); str.append(getDate2()).append(" "); str.append(this.addzero((calendar.get(calendar.HOUR)+12)%24, 2)).append("时"); str.append(this.addzero(calendar.get(calendar.MINUTE), 2)).append("分"); str.append(this.addzero(calendar.get(calendar.SECOND), 2)).append("秒"); str.append(this.addzero(calendar.get(calendar.MILLISECOND), 3)).append("毫秒"); return str.toString(); } public String addzero(int temp,int len) //此方法用来首位补零 { StringBuffer add=new StringBuffer(); add.append(temp); while(add.length()<len) { add.insert(0,0); } return add.toString(); } public static void main(String[] args) { // TODO Auto-generated method stub System.out.println(new EX15().getDate()); System.out.println(new EX15().getTime()); System.out.println(new EX15().getDate2()); System.out.println(new EX15().getTime2()); } }