java时间转字符串(字符串转日期或日期转字符串)
java时间转字符串(字符串转日期或日期转字符串)SimpleDateFormat sdf = new SimpleDateFormat( " yyyy年MM月dd日 " );年10月10日,我们可以这么写:假如把今天的日期转成字符串可用 String str = sdf.format(new Date());这个字符串内容的格式类似 2019-10-10 10:20:00。透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2019
基本用法: 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 {
调用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);