Android开发中经常需要我们获取系统时间,而获取系统时间大致可以用这两种方法解决
1)SimpleDateFormat+Date+System.currentTimeMillis()
【Android 获取系统时间】其中currentTimeMillis是用来返回一个当前时间距离1970-01-01 00:00:00的毫秒数,之后用这个数值构造一个Date对象,之后使用SimpleDateFormat类来对这个Date对象进行格式化。其实在在我们单独使用构造的Date对象也能够直接获取一个日期(toLocalString方法),但单独使用Date类获取日期的格式是固定的,一般情况下我们对日期都有自己的要求,所以需要使用SimpleDateFormat进行格式化。对于SimpleDateFormat类,它的日期格式可以由我们自行定义,只需要在实例化的时候在构造函数里面添加相应参数即可
import java.sql.Date;
import java.text.SimpleDateFormat;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
Date date = new Date(System.currentTimeMillis());
String str=simpleDateFormat.format(date);
System.out.println(str);
文章图片
2)Calendar
Calendar也是一个java自带的类,和我们上一个方法不一样的地方是,Calendar自己有静态方法getInsance来获取实例,并且Calendar是能够将年月日分开以int类型获取的,十分方便我们进行比较。但是要注意的一点就是Calendar的月份是从0开始的我们要获取月份的时候要记得加一。
import java.util.Calendar;
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH)+1;
int day = calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("当前日期"+year+"年"+month+"月"+day+"日");
文章图片
其实还有一个Time类,但是这个类已经过时了,基本都被Calendar类取代了,所以这里就不写了