Java中处理时间的方法

时间:2022-01-17 00:48:14

1.使用Date方法:导入 java.util.Date

Date d = new Date();
System.out.println(d);

可得到结果:Sun Apr 10 23:09:58 CST 2016 CST 代表 China Standard Time (中国标准时间,也就是北京时间,东八区)

2.可以使用 format() 方法将日期转换为指定格式的文本:导入java.text.SimpleDateFormat

Date d = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH-mm-ss");
String today = sdf.format(d);
System.out.println(today);

可得到结果:2016-04-10 23-18-05

3.使用 parse() 方法将文本转换为日期:导入java.text.ParseException(会产生异常ParseException ,因此需要进行异常处理)

String d = "2016-4-10 21:05:36";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = sdf.parse(d);
System.out.println(date);

可得到结果:Sun Apr 10 21:05:36 CST 2016

3.Calendar 获取年、月、日、时间等信息:导入java.util.Calendar

调用 Calendar 类的 getInstance() 方法获取一个实例,然后通过调用 get() 方法获取日期时间信息,参数为需要获得的字段的值, Calendar.Year 等为 Calendar 类中定义的静态常量。

Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;//获取月份 0表示1月份
int day = c.get(Calendar.DAY_OF_MONTH);
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
int second = c.get(Calendar.SECOND);
System.out.println(year+"-"+month+"-"+day+" "+hour+":"+minute+":"+second);

可得到结果:2016-4-10 23:49:28

Calendar 类提供了 getTime() 方法,用来获取 Date 对象,完成 Calendar Date 的转换,还可通过 getTimeInMillis() 方法,获取此 Calendar 的时间值,以毫秒为单位。

 

Calendar c = Calendar.getInstance();
Date date = c.getTime();
Long time = c.getTimeInMillis();
System.out.println("当前时间:"+date);
System.out.println("当前毫秒数:"+time);

得到结果:

当前时间:Mon Apr 11 21:44:39 CST 2016
当前毫秒数:1460382279685