Date、Calender类及日期和字符串转换

时间:2021-07-21 10:08:27

Calendar是一个抽象类,抽象类java.util.Calendar 不可以通过new来获取一个实例,可以通过类方法getinstance()获取此类型的一个通用的对象

①用法:

Calendar lendar=Calendar.getInstance();

int year=2015;

int month=12;

int day=21;

calendar.set(year,month,day);

②获取当天的年与日:月份从零开始

我们可以使用此方法get()获取对应的年月日.用法如下:

(月份的获取是比实际的月份要小一个月,因此我们获取当前的月份的时候需要+1的操作 )

Calendar calendar = Calendar.getInstance();

calendar.setTime(startDate);

calendar.add(Calendar.MONTH, 1);

int cur_month=calendat.get(Calendar.MONTH)+1;

int cur_year=calendar.get(Calendar.YEAR);

int cur_day=calendar.get(Calendar.DAY_OF_MONTH);

日期大小比较

calendar.getTime().getTime()<=Date.getTime()

日期转字符串

SimpleDateFormat sd=new SimpleDateFormat("yyyy/MM/dd");

String now=sd.format(new Date());

通过SimpleDateFormat 的构造函数传递日期格式字符串

字符串转日期

Date nowString=sd.parse(now);

从一个Calender对象中获取Date对象

Calendar cal=Calendar.getInstance();
Date date=cal.getTime();

将一个Date对象放到Calender对象中,因为Calender对象没有构造函数,所以先实例化一个Calender对象,然后设置Date对象

Date date=new Date();
Calendar cal=Calendar.getInstance();
cal.setTime(date);

Date类型转long

long time=date.getTime();

String 转成 Timestamp

Timestamp ts = Timestamp.valueOf("2012-1-14 08:11:00");

Date 转 TimeStamp

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String time = df.format(new Date());

Timestamp ts = Timestamp.valueOf(time);