Java中Date數(shù)據(jù)類型的數(shù)值轉(zhuǎn)換方式
Java中Date數(shù)據(jù)類型的數(shù)值轉(zhuǎn)換
Java與MySQL交互的數(shù)據(jù)類型
java1.1時(shí),從 MySQL 中查詢出來(lái)的時(shí)間日期類型,都放在 java.util.Date類型里面了,但是這個(gè)類提供的時(shí)間操作函數(shù)太少,一般都需要轉(zhuǎn)換成 java.util.Calendar 再去操作。
然而使用了java.util.Calendar 也不是很方便,一個(gè)很簡(jiǎn)單的想法,需要寫很多代碼才能實(shí)現(xiàn)。
于是java 提供與 MySQL方便交互的三種數(shù)據(jù)類型:java.sql.Date、java.sql.Time、java.sql.Timestamp,它們都是繼承java.util.Date,適合用于跟數(shù)據(jù)庫(kù)交互。
MySQL中的時(shí)間類型和對(duì)應(yīng)的Java類型
MySQL中的時(shí)間類型 | 對(duì)應(yīng)的 Java 類型 |
---|---|
Date | java.sql.Date |
Year | java.sql.Date |
Time | java.sql.Time |
Datetime | java.sql.Timestamp |
Timestamp | java.sql.Timestamp |
Java 各種 Date 格式之間的轉(zhuǎn)換
一、將 java.util.Date 格式轉(zhuǎn)換成 String 格式
Date date = new Date(); // 獲取當(dāng)前系統(tǒng)時(shí)間 SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // 設(shè)置日期格式 String strTime = simpleDateFormat.format(date); // 格式轉(zhuǎn)換 System.out.println(strTime); // 2019-06-10 17:32:05
二、將 java.util.Date 格式轉(zhuǎn)換成 java.sql.Date 格式
Date date = new Date(); long longTime = date.getTime(); // 2019061017320511 java.sql.Date sDate = new java.sql.Date(longTime); System.out.println(sDate); // 2019-06-10
三、將 java.util.Date 格式轉(zhuǎn)換成 Timestamp 格式
Date date = new Date(); Timestamp timestamp = new Timestamp(date.getTime()); System.out.println(timestamp); // 2019-06-10 17:32:05.11
四、將 String 格式轉(zhuǎn)換成 java.util.Date 格式
String strTime = "2019-06-10 17:32:05"; SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date date = null; try { date = simpleDateFormat.parse(strTime); } catch (ParseException e) { e.printStackTrace(); } System.out.println(date); // Mon Jun 10 17:32:05 GMT+08:00 2019
Java常用到時(shí)間類型轉(zhuǎn)換,基礎(chǔ)數(shù)據(jù)類型轉(zhuǎn)換
一些平時(shí)常用得時(shí)間轉(zhuǎn)換方法
package com.baidu.gongyi.soa.controller; import java.sql.Timestamp; import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; /** ?*? ?* @author guoyunlong ?* ?*/ public class test { ? ? public static void main(String[] args) throws ParseException { ? ? ? ? // 獲取一天中早上6點(diǎn) ? ? ? ? DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ? ? ? ? Calendar c = Calendar.getInstance(); ? ? ? ? c.set(Calendar.HOUR_OF_DAY, 6); ? ? ? ? c.set(Calendar.MINUTE, 0); ? ? ? ? c.set(Calendar.SECOND, 0); ? ? ? ? Date m6 = c.getTime(); ? ? ? ? // 早上6點(diǎn) ? ? ? ? String format2 = format1.format(m6); ? ? ? ? System.out.println(format2); ? ? ? ? // 獲取一天中20:00 ? ? ? ? Calendar c1 = Calendar.getInstance(); ? ? ? ? c1.set(Calendar.HOUR_OF_DAY, 20); ? ? ? ? c1.set(Calendar.MINUTE, 0); ? ? ? ? c1.set(Calendar.SECOND, 0); ? ? ? ? Date m20 = c1.getTime(); ? ? ? ? // 晚上20點(diǎn) ? ? ? ? String format20 = format1.format(m20); ? ? ? ? System.err.println(format20); /// ? ? ? ? // 獲取一個(gè)當(dāng)前時(shí)間 Date類型變量date ? ? ? ? Date date = new Date(); ? ? ? ? // 0. date轉(zhuǎn)換為long類型 ? ? ? ? long time = date.getTime(); ? ? ? ? System.err.println(time); ? ? ? ? // 輸出結(jié)果:1551152898496 ? ? ? ? // 1. 設(shè)置日期格式 ? ? ? ? SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ? ? ? ? String dateTime = df.format(date); ? ? ? ? // 輸出 ? ? ? ? System.err.println(dateTime); ? ? ? ? // 輸出結(jié)果: 2019-02-26 11:45:15 ? ? ? ? // 2. Date轉(zhuǎn)換為DateTime ? ? ? ? long longTime = date.getTime(); ? ? ? ? Timestamp timestamp = new Timestamp(longTime); ? ? ? ? System.err.println(timestamp); ? ? ? ? // 輸出結(jié)果: 2019-02-26 11:45:15.922 ? ? ? ? // 3. String轉(zhuǎn)換為Date ? ? ? ? String strTime = "2019-02-26 11:45:15"; ? ? ? ? SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); ? ? ? ? Date date1 = sdf1.parse(strTime); ? ? ? ? System.err.println(date1); ? ? ? ? // 輸出結(jié)果: Sun Sep 24 12:00:01 CST 2017 ? ? ? ? // 4. Date轉(zhuǎn)換為String ? ? ? ? Date date2 = new Date(); ? ? ? ? DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); ? ? ? ? String str1 = format.format(date2); ? ? ? ? System.err.println(str1); ? ? ? ? // 輸出結(jié)果:2019-02-26 ? ? ? ? // 5. String轉(zhuǎn)化為java.sql.Date ? ? ? ? String str2 = "2019-02-26"; ? ? ? ? SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd"); ? ? ? ? java.sql.Date sDate = null; ? ? ? ? java.util.Date date3 = sdf2.parse(str2); ? ? ? ? sDate = new java.sql.Date(date3.getTime()); ? ? ? ? System.err.println(sDate); ? ? ? ? // 輸出結(jié)果: 2019-02-26 ? ? } }
基礎(chǔ)數(shù)據(jù)類型轉(zhuǎn)換
1>自動(dòng)類型轉(zhuǎn)換主要指小范圍向大范圍轉(zhuǎn)換,在編譯階段自動(dòng)完成。
2>強(qiáng)制類型轉(zhuǎn)換主要指大范圍向小范圍轉(zhuǎn)換,需要編寫代碼進(jìn)行處理。
3>java為8中基本類型都提供了對(duì)應(yīng)的包裝類:
boolean對(duì)應(yīng)Boolean、byte對(duì)應(yīng)Byte、short對(duì)應(yīng)Short、int對(duì)應(yīng)Integer、long對(duì)應(yīng)Long、char對(duì)應(yīng)Character、float對(duì)應(yīng)
Float、double對(duì)應(yīng)Double,8種包裝類都提供了一個(gè)parseXxx(String str)靜態(tài)方法用于將字符串轉(zhuǎn)換成基本類型。
1.轉(zhuǎn)換成long型
Long/long num ? ?= ?Long.parseLong(String str);
或
long l = Long.parseLong([String],[int radix]);?? long l = Long.valueOf("123").longValue();?
2.Integer轉(zhuǎn)換成int的方法
Integer i = new Integer(10);? int k = i.intValue();
即Integer.intValue();
3.int轉(zhuǎn)換成Integer
int i = 10; Integer it = new Integer(i);
4.int轉(zhuǎn)換成String
int i = 10; (1)String s = String.valueOf(i); (2)String s = Ingeger.toString(i); (3)String s = "" + i;?
5.String轉(zhuǎn)換成Integer
String str = "10"; Integer it = Integer.valueOf(str);?
6.Integer轉(zhuǎn)換成String
Integer it = new Integer(10);? String str = it.toString();?
7.String轉(zhuǎn)換成BigDecimal
BigDecimal bd = new BigDecimal(str);
8.String轉(zhuǎn)換成double型
double/Double num = Double.parseDouble(String str);
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
spring task @Scheduled注解各參數(shù)的用法
這篇文章主要介紹了spring task @Scheduled注解各參數(shù)的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-10-10SpringBoot利用自定義注解實(shí)現(xiàn)多數(shù)據(jù)源
這篇文章主要為大家詳細(xì)介紹了SpringBoot如何利用自定義注解實(shí)現(xiàn)多數(shù)據(jù)源效果,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以了解一下2022-10-10java加密算法分享(rsa解密、對(duì)稱加密、md5加密)
這篇文章主要介紹了java加密算法,包括rsa解密、對(duì)稱加密、md5加密等,需要的朋友可以參考下2014-05-05SpringBoot整合ES多個(gè)精確值查詢 terms功能實(shí)現(xiàn)
這篇文章主要介紹了SpringBoot整合ES多個(gè)精確值查詢 terms功能實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧2024-06-06出現(xiàn)java.lang.UnsupportedClassVersionError錯(cuò)誤的原因以及解決方法
這篇文章主要給大家介紹了關(guān)于出現(xiàn)java.lang.UnsupportedClassVersionError錯(cuò)誤的原因以及解決方法,文中通過圖文以及代碼示例將這個(gè)錯(cuò)誤介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05Java 讀取、獲取配置文件.properties中的數(shù)據(jù)
這篇文章主要介紹了Java 讀取、獲取配置文件.properties中的數(shù)據(jù),本文通過實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-09-09Java實(shí)現(xiàn)樹形菜單的方法總結(jié)
當(dāng)我們想要展示層級(jí)結(jié)構(gòu),如文件目錄、組織結(jié)構(gòu)或分類目錄時(shí),樹形菜單是一個(gè)直觀且有效的解決方案,本文為大家整理了java中幾種常見方法,希望對(duì)大家有所幫助2023-08-08