专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 Java编程技术分享,Java怎么定义日期类型

Java编程技术分享,Java怎么定义日期类型

更新时间:2020-06-01 16:35:05 来源:动力节点 浏览2967次

基本用法: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;
}
}

输出结果:

image.png

调用System.out.println(date)是怎么打印成字符串的?

java.util.Date中重写了toString方法,输出格式为:"EEE MMM dd HH:mm:ss zzz yyyy",因此上述打印日期对象实例时,输出结果为:Mon Sep 09 12:34:56 CST 2019

Java编程技术分享,Java怎么定义日期类型

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怎么定义日期类型”的内容进行的回答,希望对大家有所帮助,如有疑问,请在线咨询,有专业老师随时为你服务。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>