Java SE入门及基础(57) Java常用API 日期时间

目录

日期时间

1. Date 类

常用方法

示例

思考:

2. SimpleDateFormat 类

常用方法

常用日期格式

示例

3. Calendar 类

常用静态字段

常用方法

示例


日期时间

1. Date

常用方法
public Date (); // 无参构造,表示计算机系统当前时间,精确到毫秒
public Date ( long date ); // 带参构造,表示根据给定的时间数字来构建一个日期对象,精确到毫秒
public long getTime (); // 获取日期对象中的时间数字,精确到毫秒
public boolean before ( Date when ); // 判断当前对象表示的日期是否在给定日期之前
public boolean after ( Date when ); // 判断当前对象表示的日期是否在给定日期之后
示例
import java . util . Date ;
public class DateTest {
        public static void main ( String [] args ) {
                Date now = new Date ();
                System . out . println ( now );
                //时间单位一般是毫秒,当然更精确的是纳秒
                long currentTime = System . currentTimeMillis () - 24 * 60 * 60 * 1000 ;
                Date date = new Date ( currentTime );
                System . out . println ( date );
                System . out . println ( date . getTime ());
                boolean before = now . before ( date ); //false
                boolean after = now . after ( date ); //true
                System . out . println ( before );
                System . out . println ( after );
        }
}
思考:
        打印的日期不好看懂,能否按照我们熟悉的方式来打印?
        当然可以,首先我们需要将日期按照我们熟悉的日期格式转换为一个字符串日期,然后再打印。

2. SimpleDateFormat

常用方法
public SimpleDateFormat ( String pattern ); // 根据给定的日期格式构建一个日期格式化对象
public final String format ( Date date ); // 将给定日期对象进行格式化
public Date parse ( String source ) throws ParseException ; // 将给定的字符串格式日期解析为日期对象
常用日期格式
字母含义说明

y

年 year不区分大小写,一般用小写
M月 month区分大小写,只能使用大写
d日 day区分大小写,只能使用小写
H时 hour不区分大小写,一般用大写
m分 minute区分大小写,只能使用小写
s秒 second区分大小写,只能使用小写
示例
import java . text . ParseException ;
import java . text . SimpleDateFormat ;
import java . util . Date ;
public class DateFormatTest {
public static void main ( String [] args ) {
Date now = new Date ();
// yyyy-MM-dd HH:mm:ss yyyy/MM/dd HH:mm:ss
SimpleDateFormat format = new SimpleDateFormat ( "yyyy MM dd HH mm
ss " );
String dateStr = format . format ( now );
System . out . println ( dateStr );
String s = "2000-01-01 12:01:50" ;
SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss" );
try {
Date date = sdf . parse ( s );
System . out . println ( date );
} catch ( ParseException e ) {
e . printStackTrace ();
}
}
}

3. Calendar

常用静态字段

常用方法
public static Calendar getInstance (); // 获取日历对象
public final Date getTime (); // 获取日历表示日期对象
public final void setTime ( Date date ); // 设置日历表示的日期对象
public int get ( int field ); // 获取给定的字段的值
public void set ( int field , int value ); // 设置给定字段的值
public void roll ( int field , int amount ); // 根据给定的字段和更改数量滚动日历
public int getActualMaximum ( int field ); // 获取给定字段的实际最大数量
示例
import java . text . SimpleDateFormat ;
import java . util . Calendar ;
import java . util . Date ;
public class CalendarTest {
        public static void main ( String [] args ) {
                //获取一个日历对象,默认就是系统当前时间
                Calendar c = Calendar . getInstance ();
                Date date = c . getTime ();
                SimpleDateFormat sdf = new SimpleDateFormat ( "yyyy-MM-dd HH:mm:ss" );
                System . out . println ( sdf . format ( date ));
                long time = System . currentTimeMillis () - 3 * 24 * 60 * 60 * 1000 ;
                Date before = new Date ( time );
                c . setTime ( before ); // 设置时间到 3 天前
                c . set ( Calendar . YEAR , 2019 ); // 设置年份为 2020
                c . set ( Calendar . MONTH , 1 ); // 设置月份
                c . roll ( Calendar . DAY_OF_MONTH , - 1 ); // 天数 -1
                int year = c . get ( Calendar . YEAR ); // 获取年份
                System . out . println ( year );
                int month = c . get ( Calendar . MONTH ); // 获取月份
                System . out . println ( month );
                int day = c . get ( Calendar . DAY_OF_MONTH ); // 获取一个月中的第几天
                System . out . println ( day );
                int hour = c . get ( Calendar . HOUR_OF_DAY ); // 获取小时 (24)
                System . out . println ( hour );
                int minute = c . get ( Calendar . MINUTE ); // 获取分钟
                System . out . println ( minute );
                int second = c . get ( Calendar . SECOND ); // 获取秒
                System . out . println ( second );
                int maxDays = c . getActualMaximum ( Calendar . DAY_OF_MONTH ); // 获取月份的最大天数
                System . out . println ( maxDays );
        }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/862366.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PFA样品瓶带氟树脂接头试剂瓶可定制接1/4英寸管300ml

PFA带接头试剂瓶,也称作特氟龙洗气瓶,材质有PFA(可溶性聚四氟乙烯)和FEP(聚全氟乙丙烯),市场上一般问的聚四氟乙洗气瓶就是PFA洗气瓶,造型上有是2个管子接入瓶内,长进短出,带有四氟滤球,管子尺寸…

手持小风扇哪个牌子比较好?五大热门手持小风扇品牌推荐

炎炎夏日,真的需要一款随身小风扇来拯救我们的高温困境!不过,市面上的选择太多了,真的让人眼花缭乱。今天,我就给大家快速推荐五款热门的手持小风扇,它们不仅轻便易携,而且各有特色。有的是风力…

下穿隧道结构安全该如何保证,检测跟自动化监测该如何抉择

隧道监测背景: 隧道所处的地下环境较为复杂,易受地质条件恶化、结构损伤、退化失稳以及自然灾害等因素影响,引发隧道拱顶开裂、边墙开裂、衬砌损坏、隧道渗漏水、围岩大变形等病害,从而导致隧道安全事故发生,尤其在长期…

Flat Ads:拥抱 CTV,品牌增长新动力

近年来,CTV(联网电视)在数字营销界正迅速崛起,成为最受青睐和增长迅猛的推广形式之一。 随着更多联网设备的普及,越来越多观众正在从传统电视快速转移到流媒体环境,对传统电视广告取而代之的便是 CTV 广告。据 eMarketer 数据显示,未来四年,CTV 市值将从今年的 250 亿美元增长到…

大疆车载的第一款油车智驾:上汽大众途观L Pro的智能辅助驾驶系统

引言 在自驾行业中,有一个低调但迅速崭露头角的选手——大疆车载。自2016年成立以来,大疆车载(现已更名为卓御)通过其先进的智能驾驶技术,逐渐在市场上赢得了声誉。此次,上汽大众途观L Pro成为大疆车载首款…

一文带你彻底搞懂设计模式之单例模式!!由浅入深,图文并茂,超超超详细的单例模式讲解!!

一文带你彻底搞懂设计模式之单例模式! 一、什么是单例模式?单例模式分类饿汉式创建单例对象懒汉式创建单例对象 多问一个为什么? 二、为什么要有单例模式?使用单例模式的原因单例模式的应用场景 三、多线程下的单例模式饿汉式懒汉…

鸿蒙:自定义组件、自定义函数、自定义样式

一、自定义组件 1.新建组件文件夹,新建自定义组件文件 . 2.编辑自定义组件,并通过 Component //声明组件 export struct PageHeader { //结构体private title: stringbuild() { //uiRow() {Image($rawfile(左返回.png)).width(15%)Text(this.title)…

Docker 安装最新版本 Jenkins

目录 1、下载、启动容器、更新到最新版本 2、查看初始密码两种方式: 3、默认安装的部分未汉化,删除默认的汉化插件。重启容器,重新安装汉化插件 4、安装 Publish over SSH、docker-build-step 、Docker Commons 插件 5、配置服务器连接信…

前端学习 Vue 插槽如何实现组件内容分发?

目录 一、Vue.js框架介绍二、什么是Vue 插槽三、Vue 插槽的应用场景四、Vue 插槽如何实现组件内容分发 一、Vue.js框架介绍 Vue.js是一个用于构建用户界面的渐进式JavaScript框架。它设计得非常灵活,可以轻松地被集成到现有的项目中,也可以作为一个完整…

Vitis Accelerated Libraries 学习笔记--OpenCV 运行测试

目录 1. 简介 2. 实例测试 2.1 实例介绍 2.2 创建工程 2.2.1 创建工程 2.2.2 获取路径 2.2.3 设置路径 2.2.4 打开工程 2.2.5 添加文件 2.2.6 启动 GUI 2.2.7 配置 csim 参数 3 常见错误 3.1 核心共享库报错 4. 总结 1. 简介 在《Vitis Accelerated Libraries …

如何清空Comfyui的gpu缓存

由于我电脑上同时装了两个Comfyui作为我站点的绘图服务,一个是给正式服使用,一个是开发测试使用,在使用过程中经常会因为两个Comfyui服务跑图后没有自动释放显存导致爆显存。所以我需要让Comfyui跑完图之后可以自动释放显存。 我自己在网上找…

C语言学习记录(十一)——指针基本知识及运算

文章目录 前言1. 指针的概念2.指针变量的说明3. 指针的含义4. 指针运算①指针加减:②指针的关系运算符 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示:以下是本篇文章正文内容,下面案例可供参考 1. 指针的概念 在C语言中&…

阐述以下方法 @classmethod, @staticmethod, @property?

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

【模板】项目建设方案(Word原件)

1 引言 1.1 编写目的 1.2 项目概述 1.3 名词解释 2 项目背景 3 业务分析 3.1 业务需求 3.2 业务需求分析与解决思路 3.3 数据需求分析【可选】 4 项目建设总体规划【可选】 4.1 系统定位【可选】 4.2 系统建设规划 5 建设目标 5.1 总体目标 5.2 分阶段目标【可选】 5.2.1 业务目…

Flutter循序渐进==>基金管理APP首页

目录 查看版本 组件 组件源码学习 做个基金APP首页源代码 效果 查看版本 组件 组件的本质就是个类。 import package:flutter/material.dart;void main() {runApp(const OurFirstApp(),); } OurFirstApp()实例化,就是给runApp用的,runApp就是运行实…

自适应蚁群算法优化的攀爬机器人的路径规划

大家好,我是带我去滑雪! 攀爬机器人是一种能够在复杂环境中自主移动和攀爬的具有广阔应用前景的智能机器人,具有较强的应用潜力和广泛的研究价值。随着科技的不断发展,攀爬机器人在许多领域中的应用越来越广泛,例如建筑…

Talk|CityU 助理教授马佳葳: CVPR 2024, 基于多模态理解的混合数据专家模型

本期为TechBeat人工智能社区第604期线上Talk。 北京时间6月27日(周四)20:00,香港城市大学助理教授—马佳葳的Talk已经准时在TechBeat人工智能社区开播! 他与大家分享的主题是: “基于多模态理解的混合数据专家模型”,他向大家介绍了混合数据专…

【合作ACM出版,稳定EI、Scopus稳定检索】第五届城市工程与管理科学国际会议(ICUEMS 2024,8月2-4)

第五届城市工程与管理科学国际会议(ICUEMS 2024)将于2024年8月2-4日在天津举行。 会议的目的是为从事城市工程、管理科学相关领域的专家、学者、工程师和技术研究人员提供一个平台,分享科研成果和前沿技术,了解学术发展趋势&…

航空电子制造业企业数字化转型:智能工厂建设

引言 航空电子制造业是航空工业的重要组成部分,涵盖了飞机的电子系统、导航设备、通信系统、自动驾驶仪等关键组件。自20世纪中期以来,航空电子技术经历了快速发展,从最初的机械和模拟设备逐步过渡到数字化、网络化和智能化系统。现代航空电子…

中国高分辨率土壤质地数据(1KM)

土壤中各粒级占土壤重量的百分比组合,叫做土壤质地。土壤质地是土壤的最基本物理性质之一,对土壤的各种性状,如土壤的通透性、保蓄性、耕性以及养分含量等都有很大的影响是评价土壤肥力和作物适宜性的重要依据。 中国土壤质地空间分布数据是根…