java中LocalDateTime,LocalDate,ZonedDateTime,Date 和String的互相转换
最近项目使用mysql数据库进行开发,经常遇到需要日期类型和String进行转换,以下整理了一下各个日期类型和String类型转换的方法,记录一下
package com.mwclg.soa.basic;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.util.Date;
public class Testa {
public static void main(String[] args) throws ParseException {
//常用的
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").withZone(ZoneId.systemDefault());
ZonedDateTime fromTime = ZonedDateTime.parse("2020-09-18 17:11:25", formatter);
//ZonedDateTime 转string
System.out.println(fromTime.format(formatter));
//string转ZonedDateTime
System.out.println(fromTime);
//LocalDate转String
LocalDate date = LocalDate.now();
DateTimeFormatter fmt = DateTimeFormatter.ofPattern("yyyy-MM-dd");
String dateStr = date.format(fmt);
System.out.println("LocalDate转String:"+dateStr);
//localDateTime转String
LocalDateTime dateTime = LocalDateTime.now();
//使用pattern来转换
//12小时制与24小时制输出由hh的大小写决定
DateTimeFormatter fmt12 = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss:SSS");
String dateStr12 = dateTime.format(fmt12);
System.out.println("LocalDateTime转String[pattern](12小时制):"+dateStr12);
DateTimeFormatter fmt24 = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS");
String dateStr24 = dateTime.format(fmt24);
System.out.println("LocalDateTime转String[pattern](24小时制):"+dateStr24);
//string转LocalDate 和LocalDateTime
String str = "2017-11-21 14:41:06:612";
DateTimeFormatter fmts = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss:SSS");
LocalDate dates = LocalDate.parse(str, fmts);
LocalDateTime time = LocalDateTime.parse(str, fmts);
System.out.println("date:"+dates);
System.out.println("time:"+time);
//String 转Date
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");
Date dated = simpleDateFormat.parse("2019-10-31 15:24:32:222");
System.out.println("String 转Date:"+dated);
//Date 转String
String dateStrs = simpleDateFormat.format(dated);
System.out.println("Date 转String:"+dateStrs);
}
}
还没有评论,来说两句吧...