更新時間:2020-06-01 16:35:05 來源:動力節點 瀏覽3459次
基本用法:SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
這一行最重要,它確立了轉換的格式,yyyy是完整的公元年,MM是月份,dd是日期,至于HH:mm:ss是時分秒。
為什么有的格式大寫,有的格式小寫?那是怕避免混淆,例如MM是月份,mm是分;HH是24小時制,而hh是12小時制。
1.字符串轉日期
2019-10-10 10:20:00要把它轉成日期,可以用Date date=sdf.parse("2019-10-10 10:20:00");
2.日期轉字符串
假如把今天的日期轉成字符串可用String str=sdf.format(new Date());
這個字符串內容的格式類似2019-10-10 10:20:00。
透過這個API我們便可以隨心所欲的將日期轉成我們想要的字符串格式,例如希望將日期輸出成2019
年10月10日,我們可以這么寫:
SimpleDateFormat sdf=new SimpleDateFormat("yyyy年MM月dd日");
String str=sdf.format(new Date());
str便會依照我們設定的格式輸出了。
3.具體演示代碼
package com.rickie;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main{
public static void main(String[]args)throws ParseException{
//按照yyyy-MM-dd HH:mm:ss格式輸出
System.out.println(getCurrentTime());
//按照指定格式輸出
System.out.println(getCurrentTime("yyyy年MM月dd日HH:mm:ss"));
//進行日期格式轉換
Date date=stringToDate("20190909123456",
"yyyyMMddHHmmss","yyyy-MM-dd HH:mm:ss");
//按照Java系統中默認格式輸出
System.out.println(date);
//按照指定格式輸出
System.out.println(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(date));
}
/**
*返回當前日期時間字符串<br>
*默認格式:yyyy-MM-dd HH:mm:ss
*
* return String返回當前字符串型日期時間
*/
public static String getCurrentTime(){
String formattedDate=null;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=new Date();
formattedDate=sdf.format(date);
return formattedDate;
}
/**
*返回自定義格式的當前日期時間字符串
*
* param format
*格式規則
* return String返回當前字符串型日期時間
*/
public static String getCurrentTime(String format){
String formattedDate=null;
SimpleDateFormat f=new SimpleDateFormat(format);
Date date=new Date();
formattedDate=f.format(date);
return formattedDate;
}
/**
*將字符串型日期轉換為日期型
*
*param strDate
*字符串型日期
* param srcDateFormat
*源日期格式
*param dstDateFormat
*目標日期格式
* return Date返回的util.Date型日期
*/
public static Date stringToDate(String strDate,String srcDateFormat,String dstDateFormat)throws ParseException{
Date rtDate=null;
Date tmpDate=(new SimpleDateFormat(srcDateFormat)).parse(strDate);
String tmpString=null;
if(tmpDate!=null){
tmpString=(new SimpleDateFormat(dstDateFormat)).format(tmpDate);
//按照目標日期格式輸出
System.out.println(tmpString);
}
if(tmpString!=null){
rtDate=(new SimpleDateFormat(dstDateFormat)).parse(tmpString);
//按照Java系統中默認格式輸出
System.out.println(rtDate);
}
return rtDate;
}
}
輸出結果:
調用System.out.println(date)是怎么打印成字符串的?
java.util.Date中重寫了toString方法,輸出格式為:"EEE MMM dd HH:mm:ss zzz yyyy",因此上述打印日期對象實例時,輸出結果為:Mon Sep 09 12:34:56 CST 2019
4.編寫DateConverter工具類
實現日期到字符串、字符串到日期類型的轉換。
package com.rickie;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class DateConverter{
/**
*日期轉換成字符串
* param date
* return str
*/
public static String DateToStr(Date date){
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str=format.format(date);
return str;
}
/**
*字符串轉換成日期
* param str
* return date
*/
public static Date StrToDate(String str){
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date=null;
try{
date=format.parse(str);
}catch(ParseException e){
e.printStackTrace();
}
return date;
}
}
調用代碼:
System.out.println(DateConverter.DateToStr(new Date()));
Date myDate=DateConverter.StrToDate("2010-10-10 10:10:10");
System.out.println(myDate);
以上就是動力節點java培訓機構的小編針對“Java編程技術分享,Java怎么定義日期類型”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業老師隨時為你服務。
0基礎 0學費 15天面授
有基礎 直達就業
業余時間 高薪轉行
工作1~3年,加薪神器
工作3~5年,晉升架構
提交申請后,顧問老師會電話與您溝通安排學習