日期类
一、Date类概述和构造方法
Date类代表了一个特定的时间,以毫秒的精度。
package TEXT;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date d1 = new Date();
System.out.println(d1);
long date = 1000*60*60;
Date d2 = new Date(date);
System.out.println(d2);
}
}
1. Date类常用方法
package TEXT;
import java.util.Date;
public class DateDemo {
public static void main(String[] args) {
Date d1 = new Date();
//获取从1970年1月1日00:00:00到现在的毫秒值
System.out.println(d1.getTime());
System.out.println(d1.getTime() * 1.0 / 1000 / 60 / 60 / 24 / 365 + "年");
//设置时间
long time = 1000*60*60;
d1.setTime(time);
System.out.println(d1);
}
}
2. SimpleDateFormat类概述
- SimpleDateFormat是一个具体的类,用于以区域设置敏感的方式格式化和解析日期。 它允许格式化(日期文本),解析(文本日期)和规范化。
- SimpleDateFormat允许您从选择日期时间格式化的任何用户定义的模式开始。 不过,建议您创建一个日期-时间格式有两种getTimeInstance , getDateInstance ,或getDateTimeInstance在DateFormat 。 这些类方法中的每一个都可以返回使用默认格式模式初始化的日期/时间格式化程序。 您可以根据需要使用applyPattern方法修改格式模式。
常用的字母有:y代表年,M代表年中的月,d代表月中的天,H代表24小时制,h代表12小时制,m代表分钟,s代表秒,S代表毫秒
3. SimpleDateFormat的构造方法
4. SimpleDateFormat格式化和解析日期
package TEXT;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.SimpleTimeZone;
public class DateDemo2 {
public static void main(String[] args) throws ParseException {
//格式化 从Date到String
Date d = new Date();
//无参构造
SimpleDateFormat sdf = new SimpleDateFormat();
String s = sdf.format(d);
System.out.println(s);
//给定格式构造
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
String s2 =sdf2.format(d);
System.out.println(s2);
//从String到Date
String ss = "2048-08-09 11:11:11";
SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date dd = sdf3.parse(ss);//这里会报错,按Alt+Enter选第一个即可
System.out.println(dd);
}
}
二、Calendar类概述
Calendar提供了一个类方法getInstance用于获取Calendar对象,其日历字段已使用当前日期和时间初始化
Calendar rightNow = Calendar.getInstance();
1.常用方法
(1) get方法
package TEXT;
import java.util.Calendar;
public class CalendarDemo {
public static void main(String[] args) {
//获取对象
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year+ "年" +month + "月" + date + "日");
}
}
(2) add方法
package TEXT;
import java.util.Calendar;
public class CalendarDemo {
public static void main(String[] args) {
//获取对象
Calendar c = Calendar.getInstance();
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year+ "年" +month + "月" + date + "日");
//根据日历规则,将指定规则,将指定时间量添加或者减去给定的日历字段
c.add(Calendar.YEAR, -3);//三年前
c.add(Calendar.DATE, -5);//五天前
year = c.get(Calendar.YEAR);
month = c.get(Calendar.MONTH) + 1;
date = c.get(Calendar.DATE);
System.out.println(year+ "年" +month + "月" + date + "日");
}
}
(3)set方法
package TEXT;
import java.util.Calendar;
public class CalendarDemo {
public static void main(String[] args) {
//获取对象
Calendar c = Calendar.getInstance();
//设置时间
c.set(2048, 11, 11);
int year = c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH) + 1;
int date = c.get(Calendar.DATE);
System.out.println(year+ "年" +month + "月" + date + "日");
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/95039.html