扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
java.util.Date类 表示特定的瞬间,精确到毫秒。
公司主营业务:做网站、网站设计、移动网站开发等业务。帮助企业客户真正实现互联网宣传,提高企业的竞争能力。创新互联是一支青春激扬、勤奋敬业、活力青春激扬、勤奋敬业、活力澎湃、和谐高效的团队。公司秉承以“开放、自由、严谨、自律”为核心的企业文化,感谢他们对我们的高要求,感谢他们从不同领域给我们带来的挑战,让我们激情的团队有机会用头脑与智慧不断的给客户带来惊喜。创新互联推出高台免费做网站回馈大家。继续查阅Date类的描述,发现Date拥有多个构造函数,只是部分已经过时,我们重点看以下两个构造函数。
Date()
:从运行程序的此时此刻到时间原点经历的毫秒值,转换成Date对象,分配Date对象并初始化此对象,以表示分配它的时间(精确到毫秒)。
Date(long date)
:将指定参数的毫秒值date,转换成Date对象,分配Date对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即1970年1月1日00:00:00 GMT)以来的指定毫秒数。
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
//日期在开发中常用来存储生日、下单时间、付款时间、审批时间等
// 类 Date 表示特定的瞬间,精确到毫秒
Date date1 = new Date();
System.out.println(date1);
Date date2=new Date(1000);//创建一个距离1970年1月1日 08:00:00(东八区) 经过了多少毫秒的一个时间
System.out.println(date2);
}
}
运行结果如下:
tips: 由于中国处于东八区(GMT+08:00)是比世界协调时间/格林尼治时间(GMT)快8小时的时区,当格林尼治标准时间为0:00时,东八区的标准时间为08:00
1.2 Date 常用方法tips:在使用println方法时,会自动调用Date类中的toString方法。Date类对Object类中的toString方法进行了覆盖重写,所以结果为指定格式的字符串。
Date类中的多数方法已经过时,常用的方法有:
getTime()
把日期对象转换成对应的时间毫秒值。
package com.hp.test2;
import java.util.Date;
public class DateTest {
public static void main(String[] args) {
//日期在开发中常用来存储生日、下单时间、付款时间、审批时间等
// 类 Date 表示特定的瞬间,精确到毫秒
Date date1 = new Date();
long time = date1.getTime(); //计算当前时间距离1970年1月1日 80:00:00 的 毫秒值-------时间戳
System.out.println(time);
}
运行结果如下:
面试题:
java.sql.Date和java.util.Date的区别
二、 SimpleDateFormat类 2.1 构造方法
- java.sql.Date 是java.util.Date 的子类
- java.util.Date 是 JDK 中的日期类,精确到时分、秒、毫秒
- java.sgl.Date 与数据库 Date 相对应的一个类型,只有日期部分,时分秒都会设置为 0,如2019-10-2300:00:00
- 要从数据库时间字段取 时、分、秒、毫秒数据,可以使用java.sql.Timestamp
由于DateFormat为抽象类,不能直接使用,所以需要常用的子类java.text.SimpleDateFormat
。这个类需要一个模式(格式)来指定格式化或解析的标准。构造方法为:
SimpleDateFormat(String pattern)
:用给定的模式和默认语言环境的日期格式符号构造SimpleDateFormat。参数pattern是一个字符串,代表日期时间的自定义格式。DateFormat类的常用方法有:
format(Date date)
:将Date对象格式化为字符串。
parse(String source)
:将字符串解析为Date对象。
package com.hp.test2;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateFormatTest {
public static void main(String[] args) throws ParseException {
//simpleDateFormat 用来实现 日期和 字符串 之间的相互转换
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); //创建日期格式化类的对象,指定格式符
Date date1 = new Date();//获取当前系统时间
System.out.println(date1);
//把 日期 转换成指定格式的 字符串
String format = sdf.format(date1);
System.out.println(format);
//把 字符串 转换成指定格式的 日期
String time = "2000-12-20 1:05:38";
Date date2 = sdf.parse(time);
System.out.println(date2);
}
}
运行结果如下:
三、Calendar类 3.1 概述java.util.Calendar类表示一个“日历类”,可以进行日期运算。它是一个抽象类,不能创建对象,我们可以使用它的子类:java.util.GregorianCalendar类。
有两种方式可以获取GregorianCalendar对象:
直接创建GregorianCalendar对象;
通过Calendar的静态方法getInstance()方法获取GregorianCalendar对象
方法名 | 说明 |
---|---|
public static Calendar getInstance() | 获取一个它的子类GregorianCalendar对象。 |
public int get(int field) | 获取某个字段的值。field参数表示获取哪个字段的值, 可以使用Calender中定义的常量来表示: Calendar.YEAR : 年 Calendar.MONTH :月 Calendar.DAY_OF_MONTH:月中的日期 Calendar.HOUR:小时 Calendar.MINUTE:分钟 Calendar.SECOND:秒 Calendar.DAY_OF_WEEK:星期 |
public void set(int field,int value) | 设置某个字段的值 |
public void add(int field,int amount) | 为某个字段增加/减少指定的值 |
package com.hp.test2;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;
public class CalendarTest {
public static void main(String[] args) {
//Calendar 类是一个抽象类,可以通过Calendar 的 getInstance 方法返回一个 Calendar 对象
Calendar calendar= Calendar.getInstance();
Date date1=calendar.getTime();//获取当前系统的时间
System.out.println(date1);
long timeInMillis = calendar.getTimeInMillis();
System.out.println("当前时间的毫秒值:"+timeInMillis);
TimeZone timeZone = calendar.getTimeZone();
System.out.println("时区:" + timeZone);
//get方法可以根据 定的日历字段 获取时间对应的值
int year=calendar.get(Calendar.YEAR);
System.out.println("年份:" + year);
int month=calendar.get(Calendar.MONTH);
System.out.println("月份:"+(month+1)); //0-11 表示1-12月
int date=calendar.get(Calendar.DAY_OF_MONTH);
System.out.println("日期:"+date);
int day0fYear=calendar.get(Calendar.DAY_OF_YEAR);
System.out.println("本年的第:" + day0fYear);
System.out.println("---------------------------");
//可以获取 指定日期 月份0-11 表示1-12月
calendar.set(2000,9,12,16,32,45);
Date date2 = calendar.getTime();
}
}
运行结果如下:
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流