java 时间和日期

1. 获取时间戳 (精确到毫秒)

  System.currentTimeMillis() //返回一个long类型的值

2. 日期和时间处理一般使用三个类组合使用(Date,Calender,SimpleDateFormat)

3. Date 类 (java.util.Date)
   现在Date类很多方法无法使用 ,但是出于向下兼容,没有删掉
Date now = new Date();
System.out.println(now);//Wed Sep 06 15:51:25 CST 2017
long time = now .getTime(); //获取时间戳
System.out.println(time);//1504684285086
time+=1000*3600*24; //加上一天的时间
now.setTime(time);
System.out.println(now);//Thu Sep 07 15:51:25 CST 2017

  

4. Calendar类 (Java.util.Calendar) 
Calendar calender1 = Calendar.getInstance();
System.out.println(calender1);
Date d1 = calender1.getTime();
System.out.println(d1);
d1.setTime( d1.getTime() + 3600*24*1000);//明天
calender1.setTime(d1);
System.out.println(calender1);
// 设置calendar 都是calendar的常量 DAY_OF_YEAR是年的第几天 DAY_WEEK 是周的第几天 是从星期日开始的
calender1.set(Calendar.YEAR, 2019); //设置年
calender1.set(Calendar.MONTH, 9); //设置月  从0开始的
calender1.set(Calendar.DAY_OF_MONTH, 11);//设置几号
calender1.set(Calendar.HOUR_OF_DAY, 11); //设置小时
calender1.set(Calendar.MINUTE, 11);  //设置分钟
calender1.set(Calendar.SECOND, 11); //设置秒

System.out.println( calender1.getActualMaximum(Calendar.DAY_OF_MONTH) ); //获取一个月最多多少天 

System.out.println(smf.format(calender1.getTime()));

  

5. SimpleDateFormat (java.text.SimpleDateFormat) 
日期字符串和Date类之间的转化,
格式符是(y年 M月 d日 H是24小时制 h是12小时制 E是星期 a是 am/pm

//日期转字符串
Date now = new Date();
SimpleDateFormat smf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr = smf.format(now);
System.out.println(dateStr);

// 字符串转日期

String dateStr = "2017-09-09 12:12:12";
SimpleDateFormat smf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = smf.parse(dateStr);
System.out.println(date);

//秒表小练习

while( true ) {
	Date date = new Date();
	SimpleDateFormat smf = new SimpleDateFormat("hh:mm:ss");
	System.out.println(smf.format(date));
	try {
		Thread.sleep(1000l);
	} catch (InterruptedException e) {
		e.printStackTrace();
	}
}

  


 


posted @ 2017-10-24 16:56  StarBugs  阅读(408)  评论(1编辑  收藏  举报