欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java中Date日期類型的大小比較方式

 更新時(shí)間:2023年07月15日 10:22:01   作者:程序猿(攻城獅)  
這篇文章主要介紹了java中Date日期類型的大小比較方式,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

java Date日期類型的大小比較

通過Date提供的compareTo()進(jìn)行比較

java.util.Date類實(shí)現(xiàn)了Comparable接口,可以直接調(diào)用Date的compareTo()方法來比較大小

String beginTime = "2018-07-28 14:42:32";
String endTime = "2018-07-29 12:26:32";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
? ? Date date1 = format.parse(beginTime);
? ? Date date2 = format.parse(endTime);
? ? int compareTo = date1.compareTo(date2);
? ? System.out.println(compareTo);
} catch (ParseException e) {
? ? e.printStackTrace();
}

compareTo()方法的返回值,date1小于date2返回-1,date1大于date2返回1,相等返回0

通過Date自帶的before()或者after()方法比較

String beginTime = "2018-07-28 14:42:32";
String endTime = "2018-07-29 12:26:32";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
? ? Date date1 = format.parse(beginTime);
? ? Date date2 = format.parse(endTime);
? ? boolean before = date1.before(date2);
? ? System.out.println(before);
} catch (ParseException e) {
? ? e.printStackTrace();
}

before()或者after()方法的返回值為boolean類型。

通過調(diào)用Date的getTime()方法獲取到毫秒數(shù)來進(jìn)行比較

String beginTime = "2018-07-28 14:42:32";
String endTime = "2018-07-29 12:26:32";
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
? ? Date date1 = format.parse(beginTime);
? ? Date date2 = format.parse(endTime);
? ? long beginMillisecond = date1.getTime();
? ? long endMillisecond = date2.getTime();
? ? System.out.println(beginMillisecond > endMillisecond);
} catch (ParseException e) {
? ? e.printStackTrace();
}

java中常用的Date類型

java常用的日期類估計(jì)就是Date類

當(dāng)我們新建一個(gè)Date對象并打印時(shí),輸出是這樣的

Date date =new Date();
 //Sat Apr 07 23:12:52 CST 2018
System.out.println(date);

Sat是星期六,Apr是月份,CST是時(shí)區(qū)

當(dāng)我們對輸出格式有要求時(shí),會(huì)用到SimpleDateFormat這個(gè)類

用法大概是這樣

Date dNow = new Date( );
SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");
//Current Date: 星期六 2018.04.07 at 11:20:26 下午 CST
System.out.println("Current Date: " + ft.format(dNow));

至于它為什么會(huì)選擇中文,這是跟你的操作系統(tǒng)設(shè)置的語言有關(guān)系的,因?yàn)槲覀兊牟僮飨到y(tǒng)平常就是中文

這里關(guān)鍵的就是

"E yyyy.MM.dd 'at' hh:mm:ss a zzz"

這就是一個(gè)表達(dá)式

順便貼出其他常用的表達(dá)符號及其含義

/**
? G 年代標(biāo)志符
? y 年
? M 月
? d 日
? h 時(shí) 在上午或下午 (1~12)
? H 時(shí) 在一天中 (0~23)
? m 分
? s 秒
? S 毫秒
? E 星期
? D 一年中的第幾天
? F 一月中第幾個(gè)星期幾
? w 一年中第幾個(gè)星期
? W 一月中第幾個(gè)星期
? a 上午 / 下午 標(biāo)記符?
? k 時(shí) 在一天中 (1~24)
? K 時(shí) 在上午或下午 (0~11)
? z 時(shí)區(qū)
?*/

在一些常用的數(shù)據(jù)庫中也有對于時(shí)間的方法

如(mysql)數(shù)據(jù)庫中有個(gè)類型是datetime類型

CREATE TABLE `timetest` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `t` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8;

可以使用now()方法插入當(dāng)前的時(shí)間

insert into timetest VALUES(null,now());

結(jié)果如下

也可用DATE_FORMAT方法進(jìn)行特定的查找

比如在上面那個(gè)表查id=1的那條記錄

select *from timetest where DATE_FORMAT(t,'%i:%s')='51:54';

上面那個(gè)t是指要查找的列名,‘%i:%s’則是一個(gè)表達(dá)式,在這里表示多少分多少秒

結(jié)果

下面也給出一些常用的數(shù)據(jù)庫表達(dá)式

  • %a 縮寫星期名
  • %b 縮寫月名
  • %c 月,數(shù)值
  • %D 帶有英文前綴的月中的天
  • %d 月的天,數(shù)值(00-31)
  • %e 月的天,數(shù)值(0-31)
  • %f 微秒
  • %H 小時(shí) (00-23)
  • %h 小時(shí) (01-12)
  • %I 小時(shí) (01-12)
  • %i 分鐘,數(shù)值(00-59)
  • %j 年的天 (001-366)
  • %k 小時(shí) (0-23)
  • %l 小時(shí) (1-12)
  • %M 月名
  • %m 月,數(shù)值(00-12)
  • %p AM 或 PM
  • %r 時(shí)間,12-小時(shí)(hh:mm:ss AM 或 PM)
  • %S 秒(00-59)
  • %s 秒(00-59)
  • %T 時(shí)間, 24-小時(shí) (hh:mm:ss)
  • %U 周 (00-53) 星期日是一周的第一天
  • %u 周 (00-53) 星期一是一周的第一天
  • %V 周 (01-53) 星期日是一周的第一天,與 %X 使用
  • %v 周 (01-53) 星期一是一周的第一天,與 %x 使用
  • %W 星期名
  • %w 周的天 (0=星期日, 6=星期六)
  • %X 年,其中的星期日是周的第一天,4 位,與 %V 使用
  • %x 年,其中的星期一是周的第一天,4 位,與 %v 使用
  • %Y 年,4 位
  • %y 年,2 位

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • JavaFX實(shí)現(xiàn)簡易時(shí)鐘效果

    JavaFX實(shí)現(xiàn)簡易時(shí)鐘效果

    這篇文章主要為大家詳細(xì)介紹了JavaFX實(shí)現(xiàn)簡易時(shí)鐘效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-11-11
  • Java中的日期和時(shí)間類以及Calendar類用法詳解

    Java中的日期和時(shí)間類以及Calendar類用法詳解

    這篇文章主要介紹了Java中的日期和時(shí)間類以及Calendar類用法詳解,是Java入門學(xué)習(xí)中的基礎(chǔ)知識,需要的朋友可以參考下
    2015-09-09
  • Log4j日志分類和過濾敏感字段的實(shí)例

    Log4j日志分類和過濾敏感字段的實(shí)例

    這篇文章主要介紹了Log4j日志分類和過濾敏感字段的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • MyBatis SpringMVC整合實(shí)現(xiàn)步驟詳解

    MyBatis SpringMVC整合實(shí)現(xiàn)步驟詳解

    這篇文章主要介紹了MyBatis SpringMVC整合實(shí)現(xiàn)步驟詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • java使用jdbc鏈接Oracle示例類分享

    java使用jdbc鏈接Oracle示例類分享

    本文為大家提供一個(gè)java使用jdbc鏈接Oracle的示例類,大家參考使用吧
    2014-01-01
  • java-流的使用完結(jié)與異常處理機(jī)制(詳解)

    java-流的使用完結(jié)與異常處理機(jī)制(詳解)

    下面小編就為大家?guī)硪黄猨ava-流的使用完結(jié)與異常處理機(jī)制(詳解)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-09-09
  • Spring boot集中異常處理方法實(shí)例

    Spring boot集中異常處理方法實(shí)例

    這篇文章主要介紹了Spring boot集中異常處理方法實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • Mybatis批量插入Oracle數(shù)據(jù)的方法實(shí)例

    Mybatis批量插入Oracle數(shù)據(jù)的方法實(shí)例

    在開發(fā)中或多或少都會(huì)遇到數(shù)據(jù)批量插入的功能,最近我在做項(xiàng)目的過程中就遇到了這樣一個(gè)問題,下面這篇文章主要給大家介紹了關(guān)于Mybatis批量插入Oracle數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2022-01-01
  • @Async導(dǎo)致controller?404及失效原因解決分析

    @Async導(dǎo)致controller?404及失效原因解決分析

    這篇文章主要為大家介紹了@Async導(dǎo)致controller?404失效問題解決,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • SpringBoot使用Redis對用戶IP進(jìn)行接口限流的示例詳解

    SpringBoot使用Redis對用戶IP進(jìn)行接口限流的示例詳解

    使用接口限流的主要目的在于提高系統(tǒng)的穩(wěn)定性,防止接口被惡意打擊,這篇文章主要介紹了SpringBoot使用Redis對用戶IP進(jìn)行接口限流的示例代碼,需要的朋友可以參考下
    2023-07-07

最新評論