java8 日期转换_Java8日期时间——LocalDateTime的使用以及相互转换
日期时间处理
Java8内每个类含义
在 Java8 之前操作时间,用的都是 Date 和 Calendar 类,但这两个类,操作起来及其繁琐,且在时间转换、时区转换的时候也很麻烦,因此 JDK 官方在 8 之后,引入了 LocalDateTime 以及相关类,通过新的类来定义和操作时间,也十分的简单清晰,下面我们就来我看一下如何操作。
Instant: 时间戳
Duration: 持续时间, 时间差
LocalDate: 只包含⽇期, ⽐如: 2016-10-20
LocalTime: 只包含时间, ⽐如: 231210
LocalDateTime: 包含⽇期和时间, ⽐如: 2016-10-20 231421
Period: 时间段
ZoneOffset: 时区偏移量, ⽐如: +8:00
ZonedDateTime: 带时区的时间
Clock: 时钟, ⽐如获取⽬前美国纽约的时间
代码实现
localdatetime -> 其他类型
// =================================================================================
public static Date localDateTimeToDate(LocalDateTime localDateTime) {
Date date = Date.from(localDateTime.toInstant(ZoneOffset.ofHours(8)));
return date;
}
public static Date localDateTimeToDate(LocalDateTime localDateTime, ZoneOffset zoneOffset) {
Date date = Date.from(localDateTime.toInstant(zoneOffset));
return date;
}
public static long localDateTimeToTimestamp(LocalDateTime localDateTime) {
long timestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).getEpochSecond();
return timestamp;
}
public static long localDateTimeToTimestamp(LocalDateTime localDateTime, ZoneOffset zoneOffset) {
long timestamp = localDateTime.toInstant(zoneOffset).getEpochSecond();
return timestamp;
}
public static String localDateTimeToString(LocalDateTime localDateTime) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String string = dateTimeFormatter.format(localDateTime);
return string;
}
public static String localDateTimeToString(LocalDateTime localDateTime, DateTimeFormatter dateTimeFormatter) {
String string = dateTimeFormatter.format(localDateTime);
return string;
}
public static String localDateTimeToString(LocalDateTime localDateTime, String pattern) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern(pattern);
String string = dateTimeFormatter.format(localDateTime);
return string;
}
date -> 其他类型
// =================================================================================
public static long dateToTimeStamp(Date date) {
return date.getTime();
}
public synchronized static String dateToString(Date date, SimpleDateFormat simpleDateFormat) {
return simpleDateFormat.format(date);
}
public static String dateToString(Date date) {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.format(date);
}
public static LocalDateTime dateToLocalDateTime(Date date) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), ZoneId.systemDefault());
return localDateTime;
}
public static LocalDateTime dateToLocalDateTime(Date date, ZoneId zoneId) {
LocalDateTime localDateTime = LocalDateTime.ofInstant(date.toInstant(), zoneId);
return localDateTime;
}
timestamp -> 其他类型
// =================================================================================
public static Date timestampToDate(long timestamp) {
return new Date(timestamp);
}
public static LocalDateTime timestampToLocalDateTime(long timestamp) {
LocalDateTime localDateTime = Instant.ofEpochSecond(timestamp).atZone(ZoneOffset.ofHours(8)).toLocalDateTime();
return localDateTime;
}
string -> 其他类型
// =================================================================================
public static Date stringToDate(String string, SimpleDateFormat simpleDateFormat) throws ParseException {
return simpleDateFormat.parse(string);
}
public static Date stringToDate(String string) throws ParseException {
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
return simpleDateFormat.parse(string);
}
public static LocalDateTime stringToLocalDateTime(String string) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(string, dateTimeFormatter);
return localDateTime;
}
public static LocalDateTime stringToLocalDateTime(String string, DateTimeFormatter dateTimeFormatter) {
LocalDateTime localDateTime = LocalDateTime.parse(string, dateTimeFormatter);
return localDateTime;
}
public static long stringToTimestamp(String string) {
DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime localDateTime = LocalDateTime.parse(string, dateTimeFormatter);
long timestamp = localDateTime.toInstant(ZoneOffset.ofHours(8)).getEpochSecond();
return timestamp;
}
公众号截图
文章在公众号「iceWang」第一手更新,有兴趣的朋友可以关注公众号,第一时间看到笔者分享的各项知识点,谢谢!笔芯!
java8 日期转换_Java8日期时间——LocalDateTime的使用以及相互转换相关推荐
- 日期转换--接收日期与数据库存储不兼容问题时间段查询
一.日期转换--接收日期与数据库存储不兼容问题 问题描述: 页面获取的日期,无法查询或者存储到数据库: 页面获取的格式为"yyyy-MM-dd HH:mm:ss",数据库数据类型为 ...
- 将字符串形式的日期转换成日期对象
JS 将字符串转换成日期类型 将字符串形式的日期转换成日期对象 var strTime="2011-04-16"; //字符串日期格式 var date= n ...
- JS 将字符串形式的日期转换成日期类型
1.将字符串形式的日期转换成日期对象 var strTime="2011-04-16"; //字符串日期格式 var date=new Date(Date.parse(strTim ...
- python 数字日期转换,格式化时间,日期加减天,小时,分钟
把数字转换成日期格式 例如:数字 202105271354 转换成日期格式 2021-05-27 13:54:00 from dateutil.parser import parset_list1 ...
- java程序日期转换_Java 日期转换详解及实例代码
Java 日期转换 涉及的核心类:Date类.SimpleDateFormat类.Calendar类 一. Date型与long型 Date型转换为long型 Date date = new Date ...
- mysql带中文日期转换_MySQL日期函数与日期转换格式化函数大全
Mysql作为一款开元的免费关系型数据库,用户基础非常庞大,本文列出了MYSQL常用日期函数与日期转换格式化函数 1.DAYOFWEEK(date) 2.WEEKDAY(date) 3.DAYOFMO ...
- pandas 中DataFrame使用:数据标准化、数据分组、日期转换、日期格式化、日期抽取
本文测试使用Pandas使用的是Spyder,python3.6版本,已经安装好pandas包.测试数据已放云盘:链接:https://pan.baidu.com/s/1zozpY2BUTIvEJKf ...
- oracle 日期改字符格式_oracle怎么把数值型日期转换成日期字符型
展开全部 oracle把数值型日期转换bai成日期字符du型的操作方法和详细步骤zhi如下: 1.首先dao,将字符串类型版转换为权数字类型. 此方法使用to_number()直接进行转换. 具体语法 ...
- python 常见日期转换、excel时间转化、日期加N天、减N天等操作
import datetime import time from datetime import timedelta""" 小知识:Excel的日期是从1900年1月1日 ...
最新文章
- 可用于nodejs的SuperAgent(ajax API)
- 他开发了基因界的百科全书,贡献却少有人知
- 节省公司的宽带接入成本
- c语言实现连续几个bit位置1,【C语言简单说】四:常量
- Linux 性能监控 : CPU 、Memory 、 IO 、Network
- css3点击会移动到点,CSS3过渡点击事件
- office教程:教你Excel 怎么样使用信息函数
- flink中的HybirdmemorySegment
- UE4暴露游戏元素给蓝图
- PHOTOSHOP使用总结
- CUDA 优化之 PReLU 性能调优
- H5拖拽方法drag在VUE中的应用实例
- sublime text豆沙绿,护眼自制主题
- walking机器人仿真教程-应用-多点导航结合睡眠功能实现智能取药
- 微信公众平台开发[6] —— 微信开发集成类的使用
- 231个web前端的javascript特效分享(仅供本人学习,非教程类型)
- 华为手机助手 android,华为手机助手(安卓版)
- 开发人员实用的在线工具
- ORACLE 体系结构详细图
- 利用AI+大数据的方式分析恶意样本(十三)
热门文章
- POSIX 消息队列基础知识复习,以及相关例程
- Eclipse中启动tomcat报错:A child container failed during start
- Sublime Text的使用技巧
- 产品规划,要考虑哪些方面?
- 读书笔记 |《推荐系统实践》- 个性化推荐系统总结
- 免费报名|《PMCAFF产品经理第一课》Facebook、360、京东早期核心产品大牛重磅开讲...
- 使用OneHotEncoderEstimator操作Affairs
- vueRouter-命名视图
- JAVA模拟HTTP post请求上传图片
- 微信公众平台开发(38)一站到底在线答题