- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章java8新特性之日期时间API由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
long times = System.currentTimeMillis(); //返回的是当前时间与1970年1月1月1日0分0秒之间以毫秒为单位的时间差 //称为时间戳 System.out.println(times);
将java.util.Date 对象转换为java.sql.Date对象:
//将java.util.Date 对象转换为java.sql.Date对象 Date date1 = new Date(); java.sql.Date date2 = new java.sql.Date(date1.getTime());
SimpleDateFormat是对日期Date类的格式化和解析.
两个操作:
1.格式化:
将日期转换为字符串:
SimpleDateFormat sfd = new SimpleDateFormat(); Date date = new Date(); System.out.println(date); String formateDate = sfd.format(date); System.out.println(formateDate);
也可以指定具体的格式化格式,查看具体的API格式。 例:指定格式的格式化输出(调用带参数的构造器) 。
Date date = new Date(); System.out.println(date); SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss"); String formateDate = sfd.format(date); System.out.println(formateDate);
2.解析:
将 字符串 转换为 日期。即格式化的逆过程.
String str = "2021/4/12 下午10:16"; SimpleDateFormat sfd = new SimpleDateFormat(); Date date2 = sfd.parse(str); System.out.println(date2);
这个注意要抛异常(传入的str格式要与Date的原格式一致,或者说要与SimpleDateFormate当前识别的格式相同).
练习:将字符串“2021-04-13” 转换为java.sql.Date类型对象.
分析:首先将字符串解析为Date类型的对象,然后在转为java.sql.Date类型对象.
public static void testExper() throws ParseException { String s = "2021-04-13"; SimpleDateFormat sfd = new SimpleDateFormat("yyyy-MM-dd"); Date date = sfd.parse(s); java.sql.Date date2 = new java.sql.Date(date.getTime()); System.out.println(date2); }
常用实例化方法:
Calendar calendar = Calendar.getInstance(); System.out.println(calendar.getClass()); //java.util.GregorianCalendar,其实还是子类类型的对象
常用方法:
1.get():获取常用的属性和信息。 2.set():设置:相当于把本身的日期给改变了 3.add():添加(增加时间、天数) 4.getTime():日历类----> Date类 5.setTime():Date类----> 日历类 。
Calendar calendar = Calendar.getInstance();// System.out.println(calendar.getClass()); //java.util.GregorianCalendar //get() int days = calendar.get(calendar.DAY_OF_MONTH);//获取当前日期是这个月的第几天 System.out.println(days); //13 //set() calendar.set(calendar.DAY_OF_MONTH, 22);//重新设置 days = calendar.get(calendar.DAY_OF_MONTH);//在重新获取 System.out.println(days); //22 //add() calendar.add(calendar.DAY_OF_MONTH, 3); days = calendar.get(calendar.DAY_OF_MONTH); System.out.println(days); //25 //getTime():日历类----> Date类 Date date = calendar.getTime(); System.out.println(date); //Sun Apr 25 13:14:59 CST 2021 //setTime():Date类----> 日历类 Date date2 = new Date(); calendar.setTime(date2); days = calendar.get(calendar.DAY_OF_MONTH); System.out.println(days); //13
新日期时间API出现的背景:
可变性:像日期和时间这样的类应该是不可变的。 偏移性:Date中的年份是从1900开始的,而月份都是从0开始。 格式化:格式化只对Date有用,Calendar则不行.
此外,他们也不是线程安全的;不能处理闰秒.
说明:LocalDateTime类相较于其他两个类使用频率较高.
(1)now():获取当前的日期、时间、日期+时间。(实例化方法一) 。
LocalDate localDate = LocalDate.now(); LocalTime localTime = LocalTime.now(); LocalDateTime localDateTime = LocalDateTime.now(); System.out.println(localDate); System.out.println(localTime); System.out.println(localDateTime);
(2)of():设置指定时间的年、月、日、时、分。没有偏移量。(实例化方法二) 。
//of():设置指定时间的年、月、日、时、分。没有偏移量。 LocalDateTime localDateTime2 = LocalDateTime.of(2021, 4, 13, 15, 20); System.out.println(localDateTime2);
(3)getXxx():获取… (4)withXxx():修改(设置)…,这个方法不会改动原本的值。 (5)plusXxx():添加 (6)minusXxx():减 。
(1)now():获取本初子午线对应的标准时间。(实例化方法一) 。
//now():获取本初子午线对应的标准时间 Instant instant = Instant.now(); System.out.println(instant); //添加时间的偏移量 OffsetDateTime offsetDateTime = instant.atOffset(ZoneOffset.ofHours(8)); System.out.println(offsetDateTime);
(2)toEpochMilli():获取毫秒数 。
long milli = instant.toEpochMilli(); System.out.println(milli);
(3)ofEpochMilli():通过给定的毫秒数,获取Instant实例 (实例化方法二) 。
//通过给定的毫秒数,获取Instant实例 Instant instant2 = Instant.ofEpochMilli(1618300028028l); System.out.println(instant2);
DateTimeFormatter类:格式化或解析日期、时间,类似于SimpleDateFormat.
(1)预定义的标准格式进行格式化:DateTimeFormatter.ISO_LOCAL_DATE_TIME 。
注意: 日期-----> 字符串 。
DateTimeFormatter formatter = DateTimeFormatter.ISO_LOCAL_DATE_TIME; LocalDateTime localDateTime = LocalDateTime.now(); String str = formatter.format(localDateTime);//注意类型变化 System.out.println(localDateTime); System.out.println(str);
(2)本地化相关的格式。如:ofLocalizedDateTime().
//FormatStyle.SHORT / FormatStyle.LONG / FormatStyle.MEDIUM :适用于LocalDateTime 。
DateTimeFormatter formatter = DateTimeFormatter.ofLocalizedDateTime(FormatStyle.SHORT); LocalDateTime localDateTime = LocalDateTime.now(); String str = formatter.format(localDateTime); System.out.println(localDateTime); System.out.println(str);
(3)自定义格式:ofPattern() 。
//自定义格式。如: DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:ss"); String string = formatter.format(LocalDateTime.now()); System.out.println(string);
到此这篇关于java8新特性之日期时间API的文章就介绍到这了,更多相关Java日期时间API内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://blog.csdn.net/deku1018/article/details/115625581 。
最后此篇关于java8新特性之日期时间API的文章就讲到这里了,如果你想了解更多关于java8新特性之日期时间API的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
我的数据库中有两张表,一张用于 field ,另一张用于预订。我需要的是一个查询来选择所有未预订的 field 。见下文: 餐 table 预订具有以下字段: bk_id venue_id 作为(预订
嗨,我是编码新手,我有一些培训项目,其中包括从 HTML 表单输入 MySQL 数据库。它就像你玩过的游戏的日志。第一个日期输入是您开始游戏的时间,第二个日期输入是您完成游戏的时间。但我需要检查器或类
我是这个 sql 编码的新手,我正在尝试学习新的东西。因此,我创建了一个交货表,其中包含一些属性,如商品代码、交货日期、交货数量。所以如何从同一张表中获取第一个交货日期(最小日期)和交货数量以及最晚交
我从支付网关返回了这个日期 2014-05-15T08:40:52+01:00 我得到 2014-05-15T08:40:52 但我无法识别时区 +01:00 的含义 我的位置时区是 UTC−06:0
我快要疯了,请帮忙。 我有一列包含日期时间值。 我需要找到每天的最小值和最大值。 数据看起来像这样 2012-11-23 05:49:26.000 2012-11-23 07:55:43.000
我从 json 数据中获取日期为 2015 年 4 月 15 日晚上 10:15我只想在 html 页面中显示 json 响应数据的时间,例如 10:15 PM这里我放了我的js函数和html代码 J
是否有 javascript 库或其他机制允许我将 .NET 日期/时间格式字符串(即 yyyy-MM-dd HH:mm:ss)传递给 javascript函数并让它相应地解析提供的日期时间值?我一直
我正在使用以下代码以正确的格式获取当前的 UTC 时间,但客户返回并要求时间戳现在使用 EST 而不是 UTC。我搜索了 Google 和 stackoverflow,但找不到适用于我现有代码的答案。
我有以下日期的平均温度数据。我想找到连续至少 5 天低于或高于 0 摄氏度的开始日期。 date_short mean.temp 1 2018-05-18 17.54 2 2018-05-19
它可以在其他网络浏览器中使用,但 IE11 返回无效日期。 为了调试我使用了下面的代码。 console.log('before - ' + date.value); date.value = new
我在 Excel 中有一个数据的 Web 提取,其中日期列带有/Date(1388624400000)/。我需要在 Excel 中将其转换为日期。 最佳答案 能够从 here 中推断出它. 假设字符串
嗨,我的 Schmema 有一个带有 ISO 日期的字段: ISODate("2015-04-30T14:47:46.501Z") Paypal 在成功付款后以该形式返回日期对象: Time/Date
我的 table : CREATE TABLE `tbdata` ( `ID` INT(10) NOT NULL AUTO_INCREMENT, `PatientID` INT(10) NOT
我正在 Ubuntu 服务器 12.04 中编写一个 shell 脚本,它应该比较日志文件中的一些数据。在日志文件中,日期以以下格式给出: [Mon Apr 08 15:02:54 2013] 如您所
我想使用 GROUP BY WITH ROLLUP 创建一个表并获取总行数而不是 null。 $sql ="SELECT IF(YEAR(transaktioner.datum
我正在创建博客文章,在成功迁移我的博客文件后,当我转到我网站的博客页面时返回一个错误(无法解析其余部分:':“Ymd”'来自'post.date|date: "Ymd"') 我似乎无法确定这是语法错误
我正在尝试获取要插入到 CAML 查询中的月份范围,即:2010-09-01 和 2010-09-30。 我使用以下代码生成这两个值: var month = "10/2010"; var month
如何将代码document.write("直到指定日期")更改为writeMessage(date)中的日期?此外,writeMessage(date) 中的日期未正确显示(仅显示年份)。感谢您帮助解
我在 Windows (XP) 和 Linux 上都尝试过 utime()。在 Windows 上我得到一个 EACCES 错误,在 Linux 上我没有得到任何错误(但时间没有改变)。我的 utim
我正在尝试计算发生在同一日期的值的总和(在 XYZmin 中)。 我的数据看起来像这样, bar <- structure(list(date = structure(c(15622, 15622,
我是一名优秀的程序员,十分优秀!