Date简介
Date是日期,下面打印的结果是一样的
Date转String
Date date = new Date();
System.out.println(date);
System.out.println(date.toString());//Date转String
结果图:
获取当前系统时间
long currentTime = System.currentTimeMillis();
输出结果是:currentTime=1476198132783
Date long 的互相转换
转换 | 方法 |
---|---|
Date–>long | date.getTime() |
long–>Date | Date date = new Date(long num) |
或者 | date.setTime(long num) |
Date转long
Date date4 = new Date(currentTime);
long time4 = date4.getTime();
time4 = 1476199045104
long转Date
//第1种方式
Date date4 = new Date(currentTime);
//第2种方式
Date date3 = new Date();
date3.setTime(1476198132783L);
Date 的格式化
将Date转换成String并格式化
SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String str = format.format(new Date());
结果是:
2016年10月11日 23:30:21
将String转换成Date
SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str2 = "2016-10-10 8:10:10";
Date date2 = format2.parse(str2);
结果是:
Mon Oct 10 08:10:10 CST 2016
计算2016年10月1号距离现在多少天?
先要将2016-10-1转换成long ,在获取当前时间的long类型的值,根据差值计算天数,由于今天是2016-10-11,计算结果也是11,计算正确。
//第一步:把"2016-10-1" 转换成long类型值
String str3 = "2016-10-1";
SimpleDateFormat format3 = new SimpleDateFormat("yyyy-MM-dd");
Date date3 = format3.parse(str3);
long time = date3.getTime();
//第二部:获取当前日期的long类型值
long currentTime = System.currentTimeMillis();
//第三部:根据差值计算天数
long diffValue = currentTime - time;
int days = (int) (diffValue/(1000*60*60*24));
long daysL = diffValue/(1000*60*60*24);
说明和源码
这是java project,不是android project
源码:Date简介和格式化 或(开源中国码云)DateDemo
DateFormat
java抽象类,java.text.DateFormat
String date3 = DateFormat.getInstance().format(currentTimeMillis);
String date4 = DateFormat.getDateInstance(java.text.DateFormat.FULL).format(date);