java横线_知识点:java一些方法会有横线?以Date 过期方法为例
原因:他們的開發(fā)者在升級(jí)方法后,添加了@Deprecated注釋,
目的是為了提醒我們,這個(gè)方法現(xiàn)在已經(jīng)有新的方法了,不建議繼續(xù)使用!
比如:
JAVA中Date的tolocalstring為什么不建議被使用
因?yàn)槟莻€(gè)方法被別的方法取代了。
Java中的日期和時(shí)間處理方法
Date類(官方不再推薦使用,官方解釋Date類不利于國際化,推薦使用Calendar類)
Calendar類
DateFormat類 使用此類來時(shí)間初始化
Date類
Date 表示特定的瞬間,精確到毫秒。
在 JDK 1.1 之前,類 Date 有兩個(gè)其他的函數(shù)。它允許把日期解釋為年、月、日、小時(shí)、分鐘和秒值。它也允許格式化和解析日期字符串。不過,這些函數(shù)的 API 不易于實(shí)現(xiàn)國際化。從 JDK 1.1 開始,應(yīng)該使用 Calendar 類實(shí)現(xiàn)日期和時(shí)間字段之間轉(zhuǎn)換,使用 DateFormat 類來格式化和解析日期字符串。Date 中的相應(yīng)方法已廢棄(查閱自API文檔)
Calendar類
Calendar 類是一個(gè)抽象類,它為特定瞬間與一組諸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等 日歷字段之間的轉(zhuǎn)換提供了一些方法,并為操作日歷字段(例如獲得下星期的日期)提供了一些方法。瞬間可用毫秒值來表示,它是距歷元(即格林威治標(biāo)準(zhǔn)時(shí)間 1970 年 1 月 1 日的 00:00:00.000,格里高利歷)的偏移量。
該類還為實(shí)現(xiàn)包范圍外的具體日歷系統(tǒng)提供了其他字段和方法。這些字段和方法被定義為 protected。
與其他語言環(huán)境敏感類一樣,Calendar 提供了一個(gè)類方法 getInstance,以獲得此類型的一個(gè)通用的對(duì)象。Calendar 的 getInstance 方法返回一個(gè) Calendar 對(duì)象,其日歷字段已由當(dāng)前日期和時(shí)間初始化:
Calendar rightNow = Calendar.getInstance();//獲得當(dāng)前時(shí)間
示例:
1 import java.util.Calendar;2 import java.util.Date;3 //記住導(dǎo)報(bào)的時(shí)候 是java.util!而不是java.sql包
4 public classLearnTimeDemo {5 public static voidmain(String[] args) {6 long TimeNow =System.currentTimeMillis();7 //獲得系統(tǒng)時(shí)間,一般用long類型的,得到此事件,currentTimeMillis()方法精確到毫秒
8 System.out.println("此刻時(shí)間"+TimeNow);9 //輸出為long類型的語言,機(jī)器能讀懂的語言
10 Date date=newDate(TimeNow);11 //用Date類來轉(zhuǎn)化這個(gè)時(shí)間
12 System.out.println("轉(zhuǎn)化的時(shí)間"+date);13 Calendar calendar=Calendar.getInstance();14 //獲得此刻的時(shí)間
15 System.out.println("Calendar獲得的時(shí)間"+calendar.getTime());16
17 }18
19 }
輸出:
此刻時(shí)間1527040419935
轉(zhuǎn)化的時(shí)間Wed May23 09:53:39 CST 2018Calendar獲得的時(shí)間Wed May23 09:53:39 CST 2018
相信你已經(jīng)知道他們的基本概念了,下面我們來進(jìn)一步研究一下。
進(jìn)一步研究:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;public classDemo2 {public static voidmain(String[] args) {
Date date1=newDate(System.currentTimeMillis());
Calendar calendar=Calendar.getInstance();//獲得系統(tǒng)時(shí)間//格式化時(shí)間格式
SimpleDateFormat simp01=new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
SimpleDateFormat simp02=new SimpleDateFormat("yyyy-MM-dd");
System.out.println("原本的date"+date1);
System.out.println("初始化的date類型"+simp01.format(date1));
System.out.println("初始化的date類型"+simp02.format(date1));
System.out.println("Calendar類獲得的時(shí)間"+calendar.get(Calendar.YEAR)+":"+(int)((calendar.get(Calendar.MONTH))+1)+":"+calendar.get(Calendar.DAY_OF_MONTH));//一般月份會(huì)少一,所以月份需要+1,每一個(gè)get獲得的是字符串,所以需要強(qiáng)轉(zhuǎn)為int
}
}
輸出:
原本的dateWed May 23 09:56:29 CST 2018初始化的date類型2018-05-23 09:56:29初始化的date類型2018-05-23Calendar類獲得的時(shí)間2018:5:23
最后,我們研究下Calendar:
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;public classDemo3 {public static voidmain(String[] args) {
Calendar c= Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00"));//獲取東八區(qū)時(shí)間
int year = c.get(Calendar.YEAR);//獲取年
int month = c.get(Calendar.MONTH) + 1;//獲取月份,會(huì)少一天。所以+1
int day = c.get(Calendar.DAY_OF_MONTH);//獲取當(dāng)前天數(shù)
int t = c.get(Calendar.HOUR_OF_DAY);//獲取當(dāng)前小時(shí)
int m = c.get(Calendar.MINUTE);//獲取當(dāng)前分鐘
int se = c.get(Calendar.SECOND);//獲取當(dāng)前秒
SimpleDateFormat s=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//格式化時(shí)間格式
String Now =s.format(c.getTime());//獲得當(dāng)前日期 format(Obj):格式化一個(gè)對(duì)象以生成一個(gè)字符串。
System.out.println("當(dāng)前時(shí)間:" + year + "-" + month + "-"+ day + " "+t + ":" + m +":" +se);
System.out.println("當(dāng)前日期Now:" +Now);
}
}
輸出:
當(dāng)前時(shí)間:2018-5-23 9:58:13當(dāng)前日期Now:2018-05-23 09:58:13
那么我們可以不嚴(yán)謹(jǐn)?shù)貋砀南旅娴拇a了,存入當(dāng)前時(shí)間:
persInfoAlert.setSubmitDate(new Date().toLocaleString());
(注:toLocalString 會(huì)有橫線,這是為什么呢)
可以改為:
persInfoAlert.setSubmitDate(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Calendar.getInstance(TimeZone.getTimeZone("GMT+08:00")).getTime()));
by:一只阿木木
總結(jié)
以上是生活随笔為你收集整理的java横线_知识点:java一些方法会有横线?以Date 过期方法为例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python输入字符串从大到小排列_56
- 下一篇: java的调试工具_2020年最佳Jav