欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java 日期转换详解及实例代码

程序员文章站 2024-03-12 15:07:32
java 日期转换 涉及的核心类:date类、simpledateformat类、calendar类 一、 date型与long型 date型转换为long型...

java 日期转换

涉及的核心类:date类、simpledateformat类、calendar类

一、 date型与long型

date型转换为long型

date date = new date();//取得当前时间date类型

long date2long = date.gettime();//date转long

long型转换为date型

long cur = system.currenttimemills();//取得当前时间long型返回

date long2date = new date(cur);//long转date

二、date型与string型

date型转换为string型

date date = new date();

simpledateformat sdf = new simpledateformat("yyyy-mm-dd hh:mm:ss.sss");//设置目标转换格式为yyyy-mm-dd hh:mm:ss.sss

string date2string = sdf.format(date);//date转string

string型转换为date型

string str="2001-11-03 11:12:33.828";//设置初始string类型日期

date str2date=sdf.parse(str);//string转date

三、date型与calendar型

date型转换为calendar型

calendar cal = calendar.getinstance();//取得当前时间calendar类型

cal.settime(date); //date转calendar

calendar型转换为date型

calendar cal = calendar.getinstance();//取得当前时间calendar类型

date cal2date = cal.gettime();//calendar转date

四、总结

  1. string与基本类型之间的转换依靠的是string.valueof()方法
  2. date与string类之间的转换依靠的是simpledateformat类
  3. date与long转换依靠的是date提供的构造以及gettime()方法
  4. date与calendar转换依靠的是calendar提供的settime()及gettime()方法

五、面试题

q:写一个方法,参数是date date,将date往后推3天,在以“yyyy-mm-dd”格式返回字符串类型

public string add3day(date date) throws parseexception{
  simpledateformat sdf = new simpledateformat("yyyy-mm-dd");
  calendar cal = calendar.getinstance();
  cal.settime(date);//date转换为calendar
  cal.add(calendar.date, 3);//将日期往后推3天,减少3天则-3. 月增加则calendar.month
  string after = sdf.format(cal.gettime());//calendar转换为date,再转换为string
  return after;
}

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!