龙空技术网

Java 字符串转日期或日期转字符串

软件架构 625

前言:

此时咱们对“js字符串转换date”大致比较重视,大家都需要学习一些“js字符串转换date”的相关资讯。那么小编也在网络上搜集了一些对于“js字符串转换date””的相关知识,希望姐妹们能喜欢,你们快快来学习一下吧!

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

标签: #js字符串转换date