失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > java日期互转:LocalDateTime String Instant Date

java日期互转:LocalDateTime String Instant Date

时间:2021-02-18 08:18:46

相关推荐

java日期互转:LocalDateTime String Instant Date

各种日期类型转换

由于java版本的迭代,一个使用java开发的项目中可能出现多种日期对象,例如LocalDateTime、LocalDate、Date,不像C#只有一个DateTime,因此在各种日期格式或者对象之间的转换显得有点复杂,总是记不住,在需要用到时总是需要依靠搜索引擎,有点浪费时间,所以特意把常用的转换场景总结如下:目前写的还不太完善还有很多没有写进去以后慢慢补充

推荐看这篇写的比较全连接

Date–> String

public class Main {//转换格式private static final String PATTERN = "yyyy-MM-dd HH-mm-ss";public static void main(String[] args) {//创建当前日期Date date = new Date();//创建DateFormat实例将PATTERN格式传入DateFormat dateFormat = new SimpleDateFormat(PATTERN);//利用DateFormat的format方法来转换Date成String字符串String format = dateFormat.format(date);//输出字符串System.out.println(format);}//结果//-12-10 21-24-37}

String–>Date

public class Main {//换换格式private static final String PATTERN = "yyyy-MM-dd HH-mm-ss";public static void main(String[] args) {//输入的字符串,格式必须大于等于PATTERN的格式String dateStr = "-12-12 12-00-00";//提高变量作用域Date date = null;//创建DateFormat实例将PATTERN格式传入DateFormat dateFormat = new SimpleDateFormat(PATTERN);try {//调用dateFormat的parse方法将字符串转换成Date实例date = dateFormat.parse(dateStr);} catch (ParseException e) {e.printStackTrace();}//输出实例System.out.println(date);}//结果//Sat Dec 12 12:00:00 CST }

Instant–>String

public class Main {//转换格式private static final String PATTERN = "yyyy年MM月dd日 HH-mm-ss";public static void main(String[] args) {//创建DateTimeFormatter实例,因为DateTimeFormatter没有构造方法所以只能通过ofPattern设置格式DateTimeFormatter formatter = DateTimeFormatter.ofPattern(PATTERN);//拿到当前默认时区formatter = formatter.withZone(ZoneId.systemDefault());//创建当前时间实例Instant now = Instant.now();//利用DateTimeFormatter的format方法进行转换String format = formatter.format(now);//输出String格式时间System.out.println(format);}//结果//12月10日 21-31-52}

Local Date Time -->String

public class Main {//转换格式private static final String PATTERN = "yyyy年MM月dd日 HH时mm分ss秒";public static void main(String[] args) {//创建LocalDateTime实例LocalDateTime now = LocalDateTime.now();//创建DateTimeFormatter实例,因为DateTimeFormatter没有构造方法所以只能通过ofPattern设置格式DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(PATTERN);//调用实例的format方法,其实底层还是调用DateTimeFormatter的format方法String format = now.format(dateTimeFormatter);//输出结果System.out.println(format);}//结果//12月10日 22时00分48秒}

String–>Local Date Time

public class Main {//转换格式private static final String PATTERN = "yyyy-MM-dd HH:mm:ss";public static void main(String[] args) {//时间字符串String strTime = "-12-12 12:00:00";//创建DateTimeFormatter实例传入PATTERNDateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(PATTERN);//利用LocalDateTime的parese方法转换格式LocalDateTime date = LocalDateTime.parse(strTime, dateTimeFormatter);//输出结果System.out.println(date);}//结果//-12-12T12:00}

Local Date Time–>Instant

public class Main {public static void main(String[] args) {//创建LocalDateTime实例LocalDateTime now = LocalDateTime.now();//创建ZonedDateTime实例ZonedDateTime zonedDateTime = now.atZone(ZoneId.systemDefault());//ZonedDateTime的toInstant方法转换成Instant实例Instant instant = zonedDateTime.toInstant();//打印实例System.out.println(instant);}//结果//-12-10T14:04:00.816Z}

Local Date Time–>Date

public class Main {public static void main(String[] args) {//创建LocalDateTime实例LocalDateTime now = LocalDateTime.now();//创建ZonedDateTime实例ZonedDateTime zonedDateTime = now.atZone(ZoneId.systemDefault());//ZonedDateTime的toInstant方法转换成Instant实例Instant instant = zonedDateTime.toInstant();//利用Date的from方法转换Instant至DateDate date = Date.from(instant);//打印实例System.out.println(date);}//结果//Thu Dec 10 22:38:12 CST }

如果觉得《java日期互转:LocalDateTime String Instant Date》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。