基本用法: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));}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;}public static String getCurrentTime(String format){String formattedDate=null;SimpleDateFormat f=new SimpleDateFormat(format);Date date=new Date();formattedDate=f.format(date);return formattedDate;}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{public static String DateToStr(Date date){SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String str=format.format(date);return str;}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怎么定义日期类型”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。