Java时间⽇期类+实例(任意⼀个⽉的天数),超详细
1.Date类
public Date()
//并初始化,以便它代表它被分配的时间,精确到毫秒
public Date(long date)
//初始化为表⽰从标准基准时间起指定的毫秒数分配⼀个 Date对象,并初始化
public long getTime()
//获取的是⽇期对象从1970年1⽉1⽇ 00:00:00到现在的毫秒值
public void setTime(long time)
//设置时间,给的是毫秒值
Date d1 = new Date();
System.out.println(d1);
//runing:Wed May 19 16:11:26 CST 2021
分配⼀个 Date对象,并将其初始化为表⽰从标准基准时间起指定的毫秒数
long date = 1000*60*60;
Date d2=new Date(date);
System.out.println(d2);
//running:Thu Jan 01 09:00:00 CST 1970
获得系统的当前时间
long time=System.currentTimeMillis();
d.setTime(time);
System.out.println(d);
/
/running:Wed May 19 16:11:26 CST 2021
⽇期转字符串
SimpleDateFormat sdf=new SimpleDateFormat();
String s = sdf.format(d);
System.out.println(s);
//running:21-5-19 下午4:11
⽇期转成特定格式字符串
SimpleDateFormat sdf1=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String s2 = sdf1.format(d);
System.out.println(s2);
//running:2021-05-19 16:11:26
字符串转化为标准⽇期
String s3="2021-05-19  13:14:52" ;
SimpleDateFormat sdf2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date1 = sdf2.parse(s3);
System.out.println(date1);
//running:Wed May 19 13:14:52 CST 2021
2.⽇期⼯具类
定义⼀个⽇期⼯具类(DateUtils),包含两个⽅法:把⽇期转换为指定格式的字符串;把字符串解析为指定格式的⽇期,然后定义⼀个测试类(DateDemo),测试⽇期⼯具类的⽅法。
//⽇期⼯具类
public class DateUtils {
private DateUtils(){
}
public static String DatetoString(Date date,String format){
SimpleDateFormat sdf=new SimpleDateFormat(format);
String s=sdf.format(date);
return s;
}
public static Date stringToDate(String s,String format) throws ParseException {
SimpleDateFormat sdf=new SimpleDateFormat(format);
Date date=sdf.parse(s);
return date;
}
java时间日期格式转换}
//测试类
public class Demo {
public static void main(String[] args) throws ParseException {
Date date =new Date();
String s1=DateUtils.DatetoString(date,"yyyy年MM⽉dd⽇ HH:mm:ss");
System.out.println(s1);
String s2="2021-5-20 15:20:00";
Date dd=DateUtils.stringToDate(s2,"yyyy-MM-dd HH:mm:ss");
System.out.println(dd);
}
}
// running:2021年05⽉19⽇ 16:39:41
Thu May 20 15:20:00 CST 2021
3.Calendar类
Calendar 为特定瞬间与⼀组⽇历字段之间的转换提供了⼀些⽅法,并为操作⽇历字段提供了⼀些⽅法.Calendar 提供了⼀个类⽅法getInstance ⽤于获取这种类型的⼀般有⽤的对象。该⽅法返回⼀个Calendar 对象。其⽇历字段已使⽤当前⽇期和时间初始化:Calendar rightNow = Instance();
public int get(int field)
//返回给定⽇历字段的值
public abstract void add(int field, int amount)
//根据⽇历的规则,将指定的时间量添加或减去给定的⽇历字段
public final void set(int year,int month,int date)
//设置当前⽇历的年⽉⽇
实例
Calendar Instance();
int (Calendar.YEAR);
int (Calendar.MARCH)+1;
int date = c.get(Calendar.DATE);
System.out.println(year + "年" + month + "⽉" + date + "⽇");
// running :2021年5⽉19⽇
//需求: 2年后5天前
c.add(Calendar.YEAR,2);
c.add(Calendar.DATE,-5);
int (Calendar.YEAR);
int (Calendar.MARCH)+1;
int date1 = c.get(Calendar.DATE);
System.out.println(year1 + "年" + month1 + "⽉" + date1 + "⽇"); // running :2023年5⽉14⽇
//设置当年的年⽉⽇
c.set(2021,5,20);
int (Calendar.YEAR);
int (Calendar.MARCH);
int date2 = c.get(Calendar.DATE);
System.out.println(year2 + "年" + month2 + "⽉" + date2 + "⽇"); // running : 2021年5⽉20⽇
4.求某年⼆⽉的天数
思路:3⽉1⽇往前推⼀天,就是2⽉的最后⼀天
public class CalendarTest {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输⼊年:");
int year = sc.nextInt();
Calendar Instance();
c.set(year,2,1);//2表⽰三⽉
c.add(Calendar.DATE,-1);
int (Calendar.DATE);
System.out.println(year + "年的2⽉份有" + date + "天");
}
}
//running:  请输⼊年:2021
2021年的2⽉份有28天

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。