在Java里面提供有一个java.util.Date的类,如果直接实例化就可以直接获取当前日期时间。
import java.util.Date;
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
Date date = new Date();
System.out.println(date);
}
}
#Sat Aug 15 23:25:11 CST 2020
Date类中构造方法;
public Date() {
this(System.currentTimeMillis());
}
public Date(long date) {
fastTime = date;
}
源代码分析可以得出一个结论:Date类中只是对long数据的一种包装。
- 将long转为Date:
public Date(long date);
- 将Date转为long:
public long getTime();
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
Date date = new Date();
System.out.println(date);
long current = date.getTime();
current += 864000*1000;//10天的毫秒数
System.out.println(new Date(current));//long转为date
}
}
Sat Aug 15 23:34:26 CST 2020
Tue Aug 25 23:34:26 CST 2020
long之中可以保存毫秒的数据级,这样方便程序处理。
日期格式化处理
默认Date输出结构,国人并不习惯,现在就需要对显示格式进行处理。在java.text包中有SimpleDateFormat程序类。该类是DateFormat的子类,在该类中有如下方法:
- 【DateFormat】将日期格式化:
public final Sring format(Date date);
- 【DateFormat】将字符串转为日期:
public Date parse(String source) throws Exception;
- 构造方法:
public SimpleDateFormat(String pattern);
\space |-日期格式:年(yyyy)、月(MM)、日(dd)、时(HH)、分(mm)、秒(ss)、毫秒(SSS);
【范例】:格式化日期显示:
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = sdf.format(date);
System.out.println(str);
}
}
#2020-08-16 10:08:49
除了将日期转为字符串,也可以实现将字符串转为日期处理。
【范例】将日期转为Date
import java.text.SimpleDateFormat;
import java.util.Date;
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
String birthday = "1994-5-25 05:20:13";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(birthday);
System.out.println(date);
}
}
#Wed May 25 05:20:13 CST 1994
在字符串定义的时候,所使用的日期数字超过了指定的合理范围之后,则会自动进行进位处理。
【范例】
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
String birthday = "1994-17-25 05:20:13";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(birthday);
System.out.println(date);
}
}
#Thu May 25 05:20:13 CST 1995
【范例】数字格式化
import java.text.NumberFormat;
public class JavaAPIDemo {
public static void main(String[] args) throws Exception {
double money = 123654987321.99 ;
String str = NumberFormat.getInstance().format(money);
System.out.println(str);
}
}
#123,654,987,321.99
String字符串类型可以向基本类型,日期类型转换。
参考资料:https://edu.aliyun.com/course/1012