当前位置: 首页 > news >正文

安徽工程建设信息网广州网站优化外包

安徽工程建设信息网,广州网站优化外包,品牌网站建设价位,看网站时的关键词日期时间相关功能建议使用 Java 8 引入的 java.time 包,这是一个更加现代化、易用且功能强大的日期时间 API。同时,我们也会简要提及旧的 java.util.Date 和 java.util.Calendar 类,因为你可能会在遗留代码中遇到它们。 早期 Java 日期时间 …

日期时间相关功能建议使用 Java 8 引入的 java.time 包,这是一个更加现代化、易用且功能强大的日期时间 API。同时,我们也会简要提及旧的 java.util.Datejava.util.Calendar 类,因为你可能会在遗留代码中遇到它们。

早期 Java 日期时间 API (<u>java.util.Date</u><u>java.util.Calendar)

在 Java 8 之前,主要的日期和时间处理类是 java.util.Datejava.util.Calendar。然而,Date 类是 Java 中用于表示日期和时间的基础类,位于 java.util 包中。它提供了处理日期和时间的基本功能,但在 Java 8 之后,更推荐使用 java.time 包中的新日期时间 API(如 LocalDate、LocalDateTime 等)。

Date

可以通过如下的方式来创建 Date 对象:

import java.util.Date;// 当前日期和时间
Date now = new Date();
System.out.println("当前时间: " + now);// 指定毫秒数创建Date (从1970-01-01 00:00:00 GMT开始计算)
Date specificDate = new Date(1640995200000L); // 2022-12-31 00:00:00
System.out.println("特定时间: " + specificDate);

Date 常用的方法也就只有这几个:

Date date = new Date();// 获取时间戳(自1970年以来的毫秒数)
long timestamp = date.getTime();
System.out.println("时间戳: " + timestamp);// 设置时间(通过毫秒数)
date.setTime(1640995200000L);// 比较两个日期
Date anotherDate = new Date();
System.out.println("比较结果: " + date.compareTo(anotherDate));
System.out.println("是否在此之前: " + date.before(anotherDate));
System.out.println("是否在此之后: " + date.after(anotherDate));

使用 SimpleDateFormat 类来将 Date 对象格式化为指定格式的日期字符串:

import java.text.SimpleDateFormat;Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");String formattedDate = sdf.format(date);
System.out.println("格式化后的日期: " + formattedDate);// 解析字符串为Date
try {Date parsedDate = sdf.parse("2023-01-01 12:00:00");System.out.println("解析后的日期: " + parsedDate);
} catch (Exception e) {e.printStackTrace();
}

:::color3
Date 有很多的局限性,SimpleDateFormat 不是线程安全的,它的年份从1900 年开始计算,月份从 0 开始,时区处理不够直观,Date 对象是可变的(可以通过setTime修改),更推荐使用 Java 8 引入了 java.time 包中提供的日期时间处理类

:::

LocalDateTime

LocalDateTime 类表示一个包含日期和时间的本地日期时间,例如 2023-10-26T10:30:45

可以通过如下的方式来创建 LocalDateTime 对象:

LocalDateTime nowDateTime = LocalDateTime.now(); // 获取当前日期和时间
LocalDateTime specificDateTime = LocalDateTime.of(2024, Month.FEBRUARY, 20, 16, 0); // 指定年月日时分
LocalDateTime fromDateAndTime = LocalDateTime.of(LocalDate.now(), LocalTime.now()); // 从 LocalDate 和 LocalTime 合并
LocalDateTime parsedDateTime = LocalDateTime.parse("2023-12-25T12:00:00"); // 从字符串解析

LocalDateTime 和时间字符串的相互转换:

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;// 当前日期时间
LocalDateTime now = LocalDateTime.now();
System.out.println("当前时间: " + now);// 格式化
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String formatted = now.format(formatter);
System.out.println("格式化: " + formatted);// 解析
LocalDateTime parsed = LocalDateTime.parse("2023-01-01 12:00:00", formatter);
System.out.println("解析: " + parsed);

从 LocalDateTime 获取日期和时间信息,可以分别使用 getYear(), getMonth(), getDayOfMonth(), getHour(), getMinute(), getSecond() 等方法。

对 LocalDateTime 进行时间的操作,可以使用 plusDays(), minusHours(), withMonth() 等方法,与 LocalDate 和 LocalTime 类似。

对 LocalDateTime 进行时间的比较,可以使用 isAfter(), isBefore(), isEqual() 等方法。

LocalDateTime 可以与 Date 进行相互的转换:

import java.time.Instant;
import java.time.ZoneId;// Date 转 LocalDateTime
Date oldDate = new Date();
LocalDateTime newDate = oldDate.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime();// LocalDateTime 转 Date
LocalDateTime now = LocalDateTime.now();
Date date = Date.from(now.atZone(ZoneId.systemDefault()).toInstant());

ZonedDateTime

ZonedDateTime 类表示一个带有时区的日期和时间,例如 2023-10-26T10:30:45+08:00[Asia/Shanghai]。

有如下几种方式创建 ZonedDateTime 对象:

ZoneId shanghaiZone = ZoneId.of("Asia/Shanghai");
ZonedDateTime zonedNow = ZonedDateTime.now(shanghaiZone); // 获取指定时区的当前日期和时间
LocalDateTime localDateTime = LocalDateTime.of(2024, 3, 10, 9, 0);
ZonedDateTime zonedSpecific = ZonedDateTime.of(localDateTime, shanghaiZone);
ZonedDateTime parsedZoned = ZonedDateTime.parse("2023-11-15T18:00:00+09:00[Asia/Tokyo]");

获取时区信息:

ZoneId zoneId = zonedNow.getZone();

时区转换:

ZoneId newYorkZone = ZoneId.of("America/New_York");
ZonedDateTime newYorkTime = zonedNow.withZoneSameInstant(newYorkZone);

ZonedDateTime 也可以格式化为指定格式的时间字符串:

// 获取当前带时区的日期时间
ZonedDateTime zonedDateTime = ZonedDateTime.now();// 定义格式化模式
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss z");// 格式化
String formattedDateTime = zonedDateTime.format(formatter);System.out.println("格式化后的时间: " + formattedDateTime);
http://www.yayakq.cn/news/209589/

相关文章:

  • 文山建设局网站网站建设和管理维护
  • 北京小学大兴网站建设怎么开通网站和进行网页设计
  • 河北云建站excel网站链接怎么做批量
  • 无极在线网站播放网站搭建者
  • 建立一个虚拟公司的网站微管家平台
  • 网站开发 电话太原网络推广公司
  • 企业网站模块爱网是什么网站
  • 成都企业如何建网站网站怎么做浏览量才会多
  • 苏州网站关键词推广深圳市力同科技有限公司
  • 做建材营销型网站no.7 wordpress
  • 企业怎么做自己的网站网站开发语言优缺点
  • 个人网站域名怎么取wordpress 禁止索引目录
  • 销售网站制作电话一般做网站费用
  • 网站备案登录密码找回毕节市网站建设
  • 佛山住房和城乡建设部网站织梦网站后台一键更新没反应
  • 电视台视频网站建设方案展台设计方案介绍
  • 一起做陶瓷官方网站营销互联网推广
  • wordpress制作的网站长沙哪里有专业做网站
  • 郴州网课seo网络优化软件
  • 现在主流的网站开发平台有哪些yoast wordpress seo 设置教程
  • 丹徒网站建设哪家好重庆seo快速优化
  • php建设网站所用开发软件360网站推广官网怎么优化
  • 友点企业网站管理系统模板wordpress侧栏登录
  • 优化网站seo国产免费crm系统有哪些在线
  • 五屏网站建设公司中国农业建设中心网站
  • 陕西省关于网站信息内容建设深圳网站 建设
  • 怎么做可以支付的网站dede网站微信分享封面
  • 北京小型网站建设简述网页的基本结构
  • 中国各省旅游网站建设分析网站设计ai
  • 太原网站seo服务新闻页面设计