日历对象导哪个包_java.util的的Date类和Calendar类
Date
java.util.Date類的對(duì)象用來表示時(shí)間和日期,用得最多的是獲取系統(tǒng)當(dāng)前日期和時(shí)間,精確到毫秒。
Java中有兩個(gè)Date類,還有一個(gè)是java.sql.Date,這個(gè)類一般不用,即使在數(shù)據(jù)庫(kù)中也不推薦使用。
寫代碼時(shí)注意導(dǎo)入的包一定是java.util包。
import java.util.Date;
public class TestDate {
public static void main(String[] args) {
Date date = new Date(); // 獲得當(dāng)前的系統(tǒng)日期和時(shí)間
System.out.println("今天的日期是:" + date);
Date dateL = new Date(0L);// 帶參版:參數(shù)是毫秒值
System.out.println("Date(long date)的日期是:" + dateL);
long time = date.getTime(); // 獲得毫秒數(shù)
System.out.println("自1970年1月1日起以毫秒為單位的時(shí)間(GMT):" + time);
// Deprecated,不贊成使用。建議使用Calendar代替。
Date dateYMD = new Date(1999, 01, 02);
Date dateYMDHMS = new Date(1999, 01, 02, 10, 10, 10);
}
}
日期格式化
simpleDateFormat.format(_date):把Date類型轉(zhuǎn)為格式化的字符串
simpleDateFormat.parse(“1949-10-01”):把格式化的字符串轉(zhuǎn)為Date類型
import java.text.DateFormat;// 抽象類
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
// DateFormat:日期?文本
public class TestDate格式化 {
public static void main(String[] args) {
Date _date = new Date(); // 獲得當(dāng)前的系統(tǒng)日期和時(shí)間
// 創(chuàng)建DateFormat對(duì)象
DateFormat _dateFormat = new SimpleDateFormat("yyyy-MM-dd");
// format(Date date):按照指定模式,把日期轉(zhuǎn)為字符串
String _s = _dateFormat.format(_date);
System.out.println("SimpleDateFormat:" + _s);
// -------------------------------
// parse方法:按照指定格式解析
try {
Date parse = _dateFormat.parse("1949-10-01");
System.out.println(parse);
} catch (ParseException e) {
e.printStackTrace();
}
}
}
Date類里很多方法被宣布“過時(shí)了”,過時(shí)了不是不能用,只是不贊成使用。
比如上面第一段代碼中的Date的帶年月日的構(gòu)造方法。
@Deprecated
public Date(int year, int month, int date) {
this(year, month, date, 0, 0, 0);
}
如果要通過年月日構(gòu)造一個(gè)日期類型的對(duì)象,推薦使用Calendar類。
Calendar
java.util.Calendar類(日歷)是抽象類,無法實(shí)例化。
public abstract class Calendar implements Serializable, Cloneable, Comparable {
……
}
要得到對(duì)象,只能通過調(diào)用getInstance方法來獲得\
Calendar cal = Calendar.getInstance();
一般得到的是GregorianCalendar的實(shí)例對(duì)象,可以通過toString()輸出結(jié)果看到。
方法
解釋
Calendar getInstance()
獲取Calendar對(duì)象
Date getTime()
Calendar對(duì)象轉(zhuǎn)為Date對(duì)象
int get(int fields)
獲取fields指定部分的值
void set(int fields, int value)
將value中指定的值設(shè)置到fields指定的部分
void add(int fields, int amount)
將amount值添加到fields指定的時(shí)間或日期部分
Object clone()
返回調(diào)用對(duì)象的副本
void clear()
清除當(dāng)前對(duì)象中所有的時(shí)間組成部分
boolean after(Object obj)
如果調(diào)用對(duì)象時(shí)間在obj之后,返回true
boolean before(Object obj)
如果調(diào)用對(duì)象時(shí)間在obj之前,返回true
boolean equals(Object obj)
判斷調(diào)用對(duì)象與obj是否相等import java.util.Calendar;
public class TestCalendar {
public static void main(String[] args) {
Calendar cal = Calendar.getInstance();
// int _year = 2019, _month = 1, _day = 1;
// cal.set(_year, _month - 1, _day);
System.out.println(cal.get(Calendar.YEAR) + ":年");
System.out.println(cal.get(Calendar.MONTH) + ":月,從0開始算");
System.out.println(cal.get(Calendar.DATE) + ":當(dāng)天 1-31");
System.out.println(cal.get(Calendar.DAY_OF_MONTH) + ":當(dāng)天 1-31");
System.out.println(cal.get(Calendar.DAY_OF_WEEK) + ":星期,周日算第1天");
System.out.println(cal.get(Calendar.WEEK_OF_MONTH) + ":月的第n周");
System.out.println(cal.get(Calendar.WEEK_OF_YEAR) + ":年的第n周");
System.out.println(cal.get(Calendar.DAY_OF_YEAR) + ":一年里的第n天");
System.out.println(cal.get(Calendar.HOUR) + ":12小時(shí)制");
System.out.println(cal.get(Calendar.HOUR_OF_DAY) + ":24小時(shí)制");
System.out.println(cal.get(Calendar.MINUTE) + ":分");
System.out.println(cal.get(Calendar.SECOND) + ":秒");
System.out.println(cal.get(Calendar.MILLISECOND) + ":毫秒");
// 閏年2月29的一年之后
cal.set(2000, 2 - 1, 29);
// 把日歷轉(zhuǎn)為日期
System.out.println(cal.getTime());
cal.add(Calendar.YEAR, 1);
System.out.println(cal.getTime());
}
}
*java8新增的time包
java.time,用于日期、時(shí)間處理
|–Clock類:獲取指定時(shí)區(qū)的日期時(shí)間
|–Duration類:一段持續(xù)的時(shí)間
|–Instant類:具體時(shí)刻,精確到納秒
|–LocalDate類:不帶時(shí)區(qū)的時(shí)間
……
import java.time.*;
public class TestDateJava8 {
public static void main(String[] args) {
testClock();
testDuration();
testInstant();
testLocalDate();
}
static void testClock() {
System.out.println("---Clock類:獲取指定時(shí)區(qū)的日期時(shí)間---");
Clock clock = Clock.systemUTC();// 世界統(tǒng)一時(shí)間
System.out.println("當(dāng)前時(shí)刻為:" + clock.instant());
// millis()獲取clock對(duì)應(yīng)的毫秒數(shù),與System.currentTimeMillis()輸出相同
System.out.println(clock.millis() + ":clock.millis()");
System.out.println(System.currentTimeMillis() + ":System.currentTimeMillis()");
}
static void testDuration() {
System.out.println("---Duration類:一段持續(xù)的時(shí)間---");
int s = 60 * 59;// 60秒*59=59分鐘
Duration d = Duration.ofSeconds(s);
System.out.println(s + "秒相當(dāng)于" + d.toMinutes() + "分");
System.out.println(s + "秒相當(dāng)于" + d.toHours() + "小時(shí)");
System.out.println(s + "秒相當(dāng)于" + d.toDays() + "天");
}
static void testInstant() {
System.out.println("---Instant類:具體時(shí)刻,精確到納秒---");
Instant instant = Instant.now();// 獲取當(dāng)前時(shí)間
System.out.println(instant + ":Instant.now() ");
Instant instant2 = instant.plusSeconds(6000);
System.out.println(instant2 + ":加時(shí)間plusSeconds()");
}
static void testLocalDate() {
System.out.println("---LocalDate類:不帶時(shí)區(qū)的時(shí)間---");
LocalDate localDate = LocalDate.now();
System.out.println(localDate + ":LocalDate.now()");
// 獲得某年的第幾天
int _某一年 = 2017, _第幾天 = 100;
localDate = LocalDate.ofYearDay(_某一年, _第幾天);
System.out.println(localDate + ":" + _某一年 + "年,第" + _第幾天 + "天LocalDate.ofYearDay()");
}
}
標(biāo)簽:System,util,println,cal,Date,Calendar,out
來源: https://blog.csdn.net/talkwah/article/details/94328424
總結(jié)
以上是生活随笔為你收集整理的日历对象导哪个包_java.util的的Date类和Calendar类的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oppo手机怎么查sn码
- 下一篇: 上传文件显示进度条_文件上传带进度条进阶