常用类型_日期..

1.Date

java.util.Date是开发中常用的日期处理类(并非java.sql.Date类)

现在这么一个需求:
就是获取当前时区的时间

public class Main{
	public static void main(String[] args) {
        // d1和d2表示的时间都是一样的 所以推荐使用第一种写法 比较简洁
        Date d1 = new Date();
        Date d2 = new Date(System.currentTimeMillis());// 这种写法表示的是从1970.1.1 00:00:00经历了到现在的毫秒数的时间 即当前的时间
        System.out.println(d1);
        System.out.println(d2);
    }
}

从打印的结果来看 印证了我们的注释 打印结果中有一个CST/GMT+08:00 CST指的是中国标准时间(China Standard Time) 而GMT指的是格林尼治时间 由于英国和中国相差8个小时的时差 所以GMT+08:00相当于CST

1.Date的常用方法

public class Main{
	public static void main(String[] args) {
        // 以下是Date类的常用方法
        Date d1 = new Date();
        Date d2 = new Date();
        // 设置毫秒数
        d1.setTime(1000);// 单位是毫秒
        d2.setTime(2000);
        // 获取毫秒数
        System.out.println(d1.getTime());// 1000 单位是毫秒
        System.out.println(d2.getTime());// 2000
        // 比较前者是否晚于后者
        System.out.println(d1.after(d2));// false
        // 比较前者是否早于后者
        System.out.println(d1.before(d2));// true
        // 获取两者比较的结果
        System.out.println(d1.compareTo(d2));// <0
    }
}

2.SimpleDateFormat

我们可以通过java.text.SimpleDateFormat对日期的格式进行处理

public class Main{
public static void main(String[] args) throws ParseException {
        // 我们定义一个日期格式 用来格式化日期 格式化为指定的格式
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        String str = sdf.format(new Date());
        System.out.println(str);
        // 当然对于已经格式化的日期 我们也可以对其进行解析 解析成日期格式
        Date d = sdf.parse(str);
        System.out.println(d);
    }
}

3.SimpleDateFormat的模式字母

在这里插入图片描述

2.Calendar

除了上述Date类可以用来帮助我们对日期进行处理以外 还可以通过java.util.Calendar对开发中的日期
进行处理
其中 值得注意的是:Calendar是一个抽象类 不能够被实例化 但是可以指向子类对象 而类内部正好有一个方法可以获取子类对象 即getInstance()方法 你可以通过查看jdk原码加以了解
并且Date类中很多过期的方法都迁移到了这里面 功能也会比Date更加丰富

public class Main {
    public static void main(String[] args) throws ParseException {
        Calendar c = Calendar.getInstance();
        // 获取当前时间的年份
        System.out.println(c.get(Calendar.YEAR));// 2024
        // 获取当前时间的月份 月份的取值范围为[0, 11]
        System.out.println(c.get(Calendar.MONTH));// 0
        // 获取当前时间的在一个月中的第几天 取值范围为[1, 31]
        System.out.println(c.get(Calendar.DAY_OF_MONTH));// 6
        // 获取当前时间在一个星期中的第几天 取值范围为[1, 7] 并且星期日才是一个星期的开始
        System.out.println(c.get(Calendar.DAY_OF_WEEK));// 7
        // 获取当前时间在一年中的第几天 取值范围为[1, 366]
        System.out.println(c.get(Calendar.DAY_OF_YEAR));// 6
        // 获取当前时间的小时数
        System.out.println(c.get(Calendar.HOUR));// 11
        // 获取当前时间的分钟数
        System.out.println(c.get(Calendar.MINUTE));// 23
        // 获取当前时间的秒数
        System.out.println(c.get(Calendar.SECOND));// 49
        // 获取当前时间的毫秒数
        System.out.println(c.get(Calendar.MILLISECOND));// 74
    }
}

1.Calendar的常用方法

public class Main {
    public static void main(String[] args) throws ParseException {
        Calendar c = Calendar.getInstance();
        // 设置时间为2019-7-6 原因在于月份的起始值为0 所以6表示7月份
        c.set(2019, 06, 06);
        // 接着就是在当前时间的基础上对参数进行添加操作
        // 对日进行追加 追加5天 时间为2019-7-11
        c.add(Calendar.DAY_OF_MONTH, 5);// 11
        System.out.println(c.get(Calendar.DAY_OF_MONTH));
        // 对月份进行追加 追加2个月 时间为2019-9-11
        c.add(Calendar.MONTH, 2);
        System.out.println(c.get(Calendar.MONTH));// 8
        // 再次设置时间 这次通过Date对象进行设置 设置时间为当前时间
        c.setTime(new Date());
        // 获取当前时间
        System.out.println(c.getTime());// 2024-1-6 11:32:23
        // 设置毫秒数
        c.setTimeInMillis(System.currentTimeMillis());// 设置时间为当前时间
        System.out.println(c.getTimeInMillis());// 获取毫秒数
    }
}

2.打印格式化

在这里插入图片描述
其中的本地化操作就是以本地的语言呈现当前所要呈现的东西

public class Main {
    public static void main(String[] args) throws ParseException {
        Calendar c = Calendar.getInstance();
        Date date = new Date();
        System.out.printf("%tB %te %tY%n", date, date, date);
        System.out.printf("%tl %tM %tp%n", c, c, c);
    }
}

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

全新热门电商API接口,实现闲鱼商品详细搜索功能

近年来&#xff0c;电商行业蓬勃发展&#xff0c;API&#xff08;Application Programming Interface&#xff09;接口已经成为电商平台的重要组成部分。API接口联讯数据不仅可以实现平台间的数据交互&#xff0c;还可以为开发者提供丰富的功能&#xff0c;满足用户多样化的需求…

多模态推荐系统综述:五、挑战

五、挑战 1、Multimodal Recommender Systems: A Survey 2023 •通用解决方案。 值得注意的是&#xff0c;尽管针对模型中的不同阶段提出了一些方法[24]&#xff0c;但没有提供这些技术组合的最新通用解决方案。 •模型可解释性。 多模态模型的复杂性会使系统生成的建议难以…

【数据结构篇】数据结构中的 R 树和 B 树

数据结构中的 R 树和 B 树 ✔️关于R树&#xff08;RTree&#xff09;✔️什么是B树&#xff08;B-tree&#xff09;✔️B树和B树的区别✔️B树和B树在数据存储方面的具体差异 ✔️拓展知识仓✔️R树和B树的区别✔️ 那在内存消耗上有什么区别&#xff1f;✔️ R树有哪些优点和…

【数据库】mysql事务

一、事务的基本概念 1、事务的定义 事务可由一条非常简单的SQL语句组成&#xff0c;也可以由一组复杂的SQL语句组成。。 在 MySQL 中只有使用了 Innodb 数据库引擎的数据库或表才支持事务。事务处理可以用来维护数据库的完整性&#xff0c;保证成批的 SQL 语句要么全部执行&…

海外代理IP在游戏中有什么作用?

随着科技的飞速发展&#xff0c;手机和电脑等电子产品已成为互联网连接万物的重要工具&#xff0c;深度融入我们的日常生活&#xff0c;我们借助互联网完成工作、休闲和购物等任务&#xff0c;以求提升生活质量。 不仅如此&#xff0c;网络游戏也是人们心中最爱&#xff0c;它…

2024.1.8每日一题

LeetCode 回旋镖的数量 447. 回旋镖的数量 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给定平面上 n 对 互不相同 的点 points &#xff0c;其中 points[i] [xi, yi] 。回旋镖 是由点 (i, j, k) 表示的元组 &#xff0c;其中 i 和 j 之间的距离和 i 和 k 之间的欧式…

Prometheus Blackbox_exporter笔记

一、安装Promtheus 在 Prometheus 官网 Download | Prometheus 获取适用于 Linux 的 Prometheus 安 装包&#xff0c;这里我选择最新的 2.46.0 版本&#xff0c;我是 Linux 系统&#xff0c;选择下载 prometheus-2.46.0.linux-amd64.tar.gz 下载安装包&#xff1a; wget htt…

UI自动化测试神器:RunnerGo

UI自动化测试已经成为现代软件开发过程中不可或缺的一部分。它能够提供诸多优势&#xff0c;包括提高测试效率、减少人力成本、提升软件质量等。同时&#xff0c;可视化工具为UI自动化测试带来了更多便利和灵活性。然而&#xff0c;可视化工具也存在一些潜在的劣势。本文将探讨…

读元宇宙改变一切笔记01_起源

1. 元宇宙是我们下一个生存之地 1.1. 1968年&#xff0c;只有不到10%的美国家庭拥有彩色电视&#xff0c;但当年票房排名第二位的电影《2001&#xff1a;太空漫游》&#xff08;2001: A Space Odyssey&#xff09;设想了这样的未来 1.1.1. 斯坦利库布里克(Stanley Kubrick) …

二 数据查询

1、实验目的 理解SQL成熟设计基本规范&#xff0c;熟练运用SQL语言实现数据基本查询&#xff0c;包括但表查询、分组统计查询和连接查询。 2、实验内容及要求 针对数据库设计各种单表查询SQL语句、分组统计查询语句&#xff1b;设计单个表针对自身的连接查询&#xff0c;设计…

lc 140. 单词拆分 II

回溯算法查询匹配单词 class Solution { public:unordered_map<string, int> word_map;void mapping(vector<string>& wordDict){for(auto &a : wordDict)word_map[a];}vector<string> ret;// s: 原始字符串// tmp: 已查询到的单词// …

【Flutter 开发实战】Dart 基础篇:最基本的语法内容

在深入了解 Dart 这门编程语言之前&#xff0c;我们需要了解一些关于 Dart 的最基本的知识&#xff0c;像是常量、变量、函数等等&#xff0c;这样才能够让我们的开发效率更上一层楼。在本节&#xff0c;我们将探讨一些基础语法&#xff0c;包括入口方法 main、变量、常量以及命…

光伏组件QUV紫外加速老化试验箱

一、产品特点 QUV紫外加速老化试验箱能模拟阳光中 UV340波段光谱的荧光紫外灯&#xff0c;并结合控温、供湿等装置来模拟对材料造成变色、亮度、强度下降&#xff1b;开裂、剥落、粉化、氧化等损害的阳光&#xff0c;以及高温、高湿、凝露、黑暗周期等因素&#xff0c;同时通过…

Linux文件系统与日志分析管理

目录 一、文件系统 1. inode表 2. 查看inode号 3. 文件目录 4. 三种时间戳 5. 删除文件空间不释放 6. 文件恢复extundelete 7. xfs类型备份和恢复 二、日志分析 1. 日志的种类 2. 内核和公共日志 3. 用户日志 3.1 查询当前登录的用户情况 3.2 查询用户登录的历史记…

Linux-添加虚拟内存,不添加硬盘方式操作

在linux中&#xff0c;当物理内存mem不足时&#xff0c;就会使用虚拟内存(swap分区) 例如增加2G虚拟内存&#xff0c;操作如下: 1.查看内存大小 [rootlocalhost ~]# free -m 2.创建要作为swap分区的文件:增加1GB大小的交换分区&#xff0c;则命令写法如下&#xff0c;其中的cou…

免费的开源低代码平台推荐

1.JNPF 最后&#xff0c;推荐一个近期用的不错的低代码。 应用地址&#xff1a;https://www.jnpfsoft.com?csdn 开发语言&#xff1a;Java/.net 这是一个基于 Java Boot/.Net Core 构建的简单、跨平台快速开发框架。前后端封装了上千个常用类&#xff0c;方便扩展&#xf…

Redis分布式锁(二)基于Redis的分布式锁

一、redis锁 1、思路 利用set nx ex获取锁&#xff0c;并设置过期时间&#xff0c;保存线程标识释放锁时先判断线程标识是否与自己一致&#xff0c;一致则删除 2、特性 利用set nx满足互斥性利用set ex保证故障时锁依然能释放&#xff0c;避免死锁&#xff0c;提高安全性利…

普冉32位单片机 PY32C642,M0+内核,1.7 V ~ 5.5 V宽工作电压

PY32C642 单片机采用高性能的 32 位 ARM Cortex-M0内核&#xff0c;宽电压工作范围。嵌入 24Kbytes Flash 和 3 Kbytes SRAM 存储器&#xff0c;最高工作频率 24 MHz。包含多种不同封装类型产品。工作温度范围为-40C ~ 85C&#xff0c;工作电压范围 1.7 V ~ 5.5 V。1 路 12 位A…

影响代理IP稳定性的因素有哪些?

代理IP作为一种网络服务&#xff0c;在生活中扮演着各种各样的角色。它们可以用于保护隐私、突破访问限制、提高网络安全性等。代理IP的稳定性受到多种因素的影响&#xff0c;下面和大家探讨一下影响代理IP稳定性的因素。 1、网络环境&#xff1a;代理IP所处的网络环境对它的稳…

【一】达梦数据库安装和使用-Windows

达梦数据库安装和使用-Windows 简介&#xff1a; 新能源行业关系到国计民生&#xff0c;保障能源安全的意识不容懈怠&#xff0c;近些年各行各业都在推进数字化进程&#xff0c;能源行业在国家3060双碳目标提出之后更是进行的如火如荼&#xff0c;能源互联网方面在数字化的同时…