日期:Date,SimpleDateFormat常见API以及包装类
一.Date类
package com.gch.d1_date;import java.util.Date;/**目标:学会使用Date类处理时间,获取时间的信息*/
public class DateDemo1 {public static void main(String[] args) {// 1.创建一个Date类的对象:代表系统此刻日期时间对象Date d = new Date();System.out.println(d); // Wed Mar 01 10:04:09 CST 2023// 2.获取时间毫秒值long time = d.getTime();System.out.println(time); // 1677636249346
// long time1 = System.currentTimeMillis();
// System.out.println(time1);System.out.println("-----------------------");// 请计算当前时间往后走1小时121秒之后的时间是多少// 1.得到当前时间Date d1 = new Date();System.out.println(d1); // Wed Mar 01 10:04:09 CST 2023// 2.当前时间往后走1小时121秒long time2 = System.currentTimeMillis();time2 += (60 * 60 + 121) * 1000;// 3.把时间毫秒值转换成对应的日期对象
// Date d2 = new Date(time2);
// System.out.println(d2);Date d3 = new Date();// 设置日期对象的时间为当前时间毫秒值对应的时间d3.setTime(time2);System.out.println(d3); // Wed Mar 01 11:06:10 CST 2023}
}
二.SimpleDateFormat类
package com.gch.d2_simpledateformat;import java.text.SimpleDateFormat;
import java.util.Date;/**目标:SimpleDateFormat简答日期格式化类的使用格式化时间解析时间*/
public class SimpleDateFormatDemo1 {public static void main(String[] args) {// 1.日期对象Date d = new Date();System.out.println(d); // Sat Feb 25 18:08:35 CST 2023// 2.格式化这个日期对象(指定最终格式化的形式)SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss EEE a");// 3.开始格式化日期对象称为喜欢的字符串形式String rs = sdf.format(d);System.out.println(rs); // 2023年02月25日 18:08:35 星期六 下午System.out.println("-----------------------");// 4.格式化时间毫秒值// 需求:请问121秒后的时间是多少long time = System.currentTimeMillis() + 121 * 1000;String rs2 = sdf.format(time);System.out.println(rs2); // 2023年02月28日 14:34:35 星期二 下午}
}
package com.gch.d2_simpledateformat;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class SimpleDateFormatDemo2 {public static void main(String[] args) throws ParseException {// 目标:学会使用SimpleDateFormat解析字符串时间成为日期对象System.out.println("------解析字符串时间-------");// 案例:请计算出2021年08月06日11点11分11秒,往后走2天14小时49分06秒后的时间是多少// 1.把字符串时间拿到程序中来String dataStr = "2021年08月06日 11:11:11";// 2.把字符串时间解析成日期对象(本节的重点):形式必须与被解析时间的格式完全一样,否则运行时解析报错!SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:s");Date d = sdf.parse(dataStr);// 3.往后走2天 14小时 49分 06秒long time = d.getTime() + (2L * 24 * 60 * 60 + 14 * 60 * 60 + 49 * 60 + 6) * 1000;// 4.格式化这个时间毫秒值就是结果System.out.println(sdf.format(time)); // 2021年08月09日 02:00:17}
}
package com.gch.d2_simpledateformat;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class SimpleDateFormatTest3 {public static void main(String[] args) throws ParseException {// 1.开始和结束时间String startTime = "2021-11-11 00:00:00";String endTime = "2021-11-11 00:10:00";// 2.小贾 小皮String xiaoJia = "2021-11-11 00:03:47";String xiaoPi = "2021-11-11 00:10:11";// 3.解析他们的字符串时间为日期对象SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date d1 = sdf.parse(startTime);Date d2 = sdf.parse(endTime);Date d3 = sdf.parse(xiaoJia);Date d4 = sdf.parse(xiaoPi);if(d3.after(d1) && d3.before(d2)){System.out.println("小贾秒杀成功,可以发货了!");}else{System.out.println("小贾秒杀失败!");}if(d4.after(d1) && d4.before(d2)){System.out.println("小皮秒杀成功,可以发货了!");}else{System.out.println("小皮秒杀失败!");}}
}
三.包装类
- 包装类就是8种基本数据类型对应的对象,就是把基本数据类型变成了一个对象。
- 包装类是引用数据类型,包装类的本质就是在堆内存中创建了一个对象,对象当中记录对应的数据值。而基本数据类型在变量中记录的是真实的数据值。
- 获取包装类对象,不需要调方法,直接赋值即可。
- 集合和泛型不支持基本数据类型,只支持引用数据类型。
- 包装类(位于java.lang包中)
- 在Java中,每一次new都是创建了一个新的对象
- Java是强类型语言:每种数据在Java中都有各自的数据类型,在计算的时候,如果不是同一种数据类型,是无法直接计算的。
package com.gch.d5_integer;/**目标明白包装类的概念,并使用*/
public class Test {public static void main(String[] args) {int a = 10;Integer a1 = 11; // 引用类型,认为a1是对象变量System.out.println(a);System.out.println(a1);Integer a2 = a; // 自动装箱Integer it = 100;int it1 = it; // 自动拆箱System.out.println(it1);// int age = null; 报错了// Integer容错率更高Integer age1 = null;Integer age2 = 0;System.out.println("----------------------");// 1.包装类可以把基本类型的数据转换成字符串形式(没啥用)Integer i3 = 23;String rs = i3.toString();System.out.println(rs + 1); // 231// 包装类也可以直接+字符串得到字符串类型String rs2 = i3 + "";System.out.println(rs2 + 1); // 231System.out.println("----------------");String number = "23";// 转换成整数
// int age = Integer.parseInt(number);int age = Integer.valueOf(number);System.out.println(age + 1); // 24String number1 = "99.9";// 转换成小数
// double score = Double.parseDouble(number);double score = Double.valueOf(number1);System.out.println(score + 0.1); // 100}
}
- Integer.valueOf(int i),如果i的值在-128到127之间,它会提前创建好Integer的对象,并且放到一个数组当中,用Integer.valueOf方法去获取对象的时候,它会判断你这个数据是不是在-128到127之间,如果说在,它不会创建新的对象,而是从数组当中获取已经创建好的对象给你返回,如果说不在-128到127之间,它才会new新的对象
底层原理:
- 因为在实际开发中,-128~127之间的数据,用的比较多
- 如果每次使用都是new对象,那么太浪费内存了,所以提前把这个范围之内的每一个数 据都创建好对象
- 如果要用到了不会创建新的,而是返回已经创建好的对象。
- == 号是比较两个对象的地址值是否相同
package com.gch.d5_integer;public class Test2 {public static void main(String[] args) {// 这两种方式获取对象的区别(掌握)// i的值都是127,不会创建新对象,而是获取已有对象Integer i6 = Integer.valueOf(127);Integer i7 = Integer.valueOf(127);System.out.println(i6 == i7); // trueInteger i8 = Integer.valueOf(128);Integer i9 = Integer.valueOf(128);System.out.println(i8 == i9); // false// 因为看到了new关键字,在Java中,每一次new都是创建了一个新的对象// 所以下面的两个对象都是new出来,地址值不一样Integer i10 = new Integer(127);Integer i11 = new Integer(127);System.out.println(i10 == i11); // falseInteger i12 = new Integer(128);Integer i13 = new Integer(128);System.out.println(i12 == i13); // false}
}
- 在JDK5的时候提出了一个机制:自动装箱和自动拆箱
- 自动装箱:把基本数据类型会自动地变成其对应的包装类
- 自动拆箱:把包装类自动地变成其对应的基本数据类型
在JDK5以后,int和Integer可以看作是同一个东西,因为在内部可以自动转化。
package com.gch.d5_integer;public class Test3 {public static void main(String[] args) {
// Integer i1 = 127;
// Integer i2 = 127;
// System.out.println(i1 == i2); // true// 在底层,此时还会去自动调用静态方法valueOf得到一个Integer对象,只不过这个动作不需要我们自己去操作了// 自动装箱的操作Integer i1= 10;Integer i2 = new Integer(10);// 自动拆箱的动作int i = i2;}
}
package com.gch.d5_integer;public class Test4 {public static void main(String[] args) {Integer i1 = 10;Integer i2 = 10;// 引用数据类型不能直接计算,要先拆箱相加后再装箱赋值给i3Integer i3 = i1 + i2;}
}
- public static String toBinaryString(int i) 得到二进制
- public static String toOctalString(int i) 得到八进制
- public static String toHexString(int i) 得到十六进制
- public static int parseInt(String s) 将字符串类型的整数转成int类型的整数
- 为什么返回值类型为String,因为八进制有可能是01101101
- int类型最多可以取到21亿,也就是最多只能有10位
package com.gch.d5_integer;public class Test5 {public static void main(String[] args) {// 1.把整数转成二进制,十六进制String str1 = Integer.toBinaryString(100);System.out.println(str1); // 1100100// 2.把整数转成八进制String str2 = Integer.toOctalString(100);System.out.println(str2); // 144// 3.把整数转成十六进制String str3 = Integer.toHexString(100);System.out.println(str3); // 64// 4.将字符串类型的整数转成int类型的整数// 因为Java是强类型语言:每种数据在Java中都有各自的数据类型// 在计算的时候,如果不是同一种数据类型,是无法直接计算的int i = Integer.parseInt("123");System.out.println(i); // 123System.out.println(i + 1); // 124boolean b = Boolean.valueOf("true");System.out.println(b); // true}
}
package com.gch.d5_integer;import java.util.Scanner;public class Test6 {public static void main(String[] args) {// 键盘录入Scanner sc = new Scanner(System.in);System.out.println("请输入一个字符串:");/* String str = sc.next();System.out.println(str);*/// 弊端:// 当我们在使用next,nextInt,nextDouble在接收数据的时候,遇到空格,回车,制表符的时候就停止了// 键盘录入的是123 123 那么此时只能接收空格前面的数据// 我想要的是接收一整行数据// 约定:// 以后我们如果想要键盘录入,不管什么类型,统一使用nextLine// 特点:遇到回车才停止String line = sc.nextLine();System.out.println(line);}
}
相关文章:
日期:Date,SimpleDateFormat常见API以及包装类
一.Date类 package com.gch.d1_date;import java.util.Date;/**目标:学会使用Date类处理时间,获取时间的信息*/ public class DateDemo1 {public static void main(String[] args) {// 1.创建一个Date类的对象:代表系统此刻日期时间对象Date d new Date();System.out.println(…...
嵌入式之ubuntu终端操作与shell常用命令详解
目录 文件和目录列表 基本列表功能 显示列表长度 过滤输出列表 浏览文件系统 Linux 文件系统 遍历目录 处理文件 创建文件 复制文件 制表键自动补全 重命名文件 删除文件 处理目录 创建目录 删除目录 编辑其他常用命令与操作 Uname命令 clear命令 返回上一级命令 显…...
【Shell学习笔记】6.Shell 流程控制
前言 本章介绍Shell的流程控制。 Shell 流程控制 和 Java、PHP 等语言不一样,sh 的流程控制不可为空,如(以下为 PHP 流程控制写法): 实例 <?php if (isset($_GET["q"])) {search(q); } else {// 不做任何事情 }在 sh/bash…...
27k入职阿里测开岗那天,我哭了,这5个月付出的一切总算没有白费~
先说一下自己的个人情况,计算机专业,16年普通二本学校毕业,经历过一些失败的工作经历后,经推荐就进入了华为的测试岗,进去才知道是接了个外包项目,不太稳定的样子,可是刚毕业谁知道什么外包不外…...
服务端开发之Java备战秋招面试篇5
努力了那么多年,回头一望,几乎全是漫长的挫折和煎熬。对于大多数人的一生来说,顺风顺水只是偶尔,挫折、不堪、焦虑和迷茫才是主旋律。我们登上并非我们所选择的舞台,演出并非我们所选择的剧本。继续加油吧! 目录 1.ArrayList与LinkedList区别, 应用场景…...
有趣的 Kotlin 0x11: joinToString,你真的了解嘛?
前言 之前使用 joinToString 函数也就是用逗号连接集合元素形成字符串,也没有细看它的参数,但是今天和 ChatGPT 聊天时,发现它给我输出了诸多内容。 joinToString joinToString()是Kotlin中一个非常有用的函数,它可以将集合的元…...
代码随想录算法训练营day46 | 动态规划之背包问题 139.单词拆分
day46139.单词拆分1.确定dp数组以及下标的含义2.确定递推公式3.dp数组如何初始化4.确定遍历顺序5.举例推导dp[i]139.单词拆分 题目链接 解题思路:单词就是物品,字符串s就是背包,单词能否组成字符串s,就是问物品能不能把背包装满。…...
DPDK中的无锁共享数据结构
目录背景解决方法共享内存无锁操作新/老共享数据结构rte_ringrefcnt延迟释放方法1:读的线程来释放方法2:释放线程等到读线程轮询一轮参考背景 dpvs多线程,如何做到节约内存、高性能之间的均衡。 解决方法 共享内存 多线程共享内存&#x…...
【使用两个栈实现队列】
文章目录一、栈和队列的基本特点二、基本接口函数的实现1.栈的接口2.创建队列骨架3.入队操作4.取出队列元素5.返回队首元素6.判断队列是否为空7.销毁队列总结一、栈和队列的基本特点 栈的特点是后进先出,而队列的特点是先进先出。 使用两个栈实现队列,必…...
web,h5海康视频接入监控视频流记录一
项目需求,web端实现海康监控视频对接接入,需实现实时预览,云台功能,回放功能。 web端要播放视频,有三种方式,一种是装浏览器装插件,一种是装客户端exe,还有就是无插件了。浏览器装插…...
做毕业设计,前端部分你需要掌握的6个核心技能
其实前端新手如果想要自己实现一套毕业设计项目并非简单的事,因为之前很多人一直还停留在知识点的阶段,而且管理系统和C端网站都需要开发,但现在需要点连成线了。所以在启动项目开发之前呢,针对前端部分,我列举一些非常…...
Read book Netty in action(Chapter VIII)--EventLoop and thread model
前言 简单地说,线程模型指定了操作系统、编程语言、框架或者应用程序的上下文中的线程管理的关键方面。显而易见地,如何以及何时创建线程将对应用程序代码的执行产生显著的影响,因此开发人员需要理解与不同模型相关的权衡。无论是他们自己选…...
番外11:使用ADS对射频功率放大器进行非线性测试3(使用带宽5MHz的WCDMA信号进行ACLR测试)
番外11:使用ADS对射频功率放大器进行非线性测试3(使用带宽5MHz的WCDMA信号进行ACLR测试) 其他测试: 番外9:使用ADS对射频功率放大器进行非线性测试1(以IMD3测试为例) 番外10:使用AD…...
Linux libpqxx 库安装及使用
记录一下linux安装 libpqxx遇到的一些问题 1.准备安装包: 1.准备安装包,以libpqxx-4.0.1.tar.gz为例子 链接如下:https://launchpad.net/libpqxx/milestone/4.0.1 2.上传并安装 上传到安装目录并安装,我是放到/use/local下面 c…...
如何使用COM-Hunter检测持久化COM劫持漏洞
关于COM-Hunter COM- Hunter是一款针对持久化COM劫持漏洞的安全检测工具,该工具基于C#语言开发,可以帮助广大研究人员通过持久化COM劫持技术来检测目标应用程序的安全性。 关于COM劫持 微软在Windows 3.11中引入了(Component Object Model, COM)&…...
Cartesi 举办的2023 黑客马拉松
Cartesi 是具有 Linux 运行时的特定于应用程序的Rollups执行层。Cartesi 的特定应用程序 Optimistic Rollup 框架使区块链堆栈足够强大,开发人员可以构建计算密集型和以前不可能的去中心化实例。Cartesi 的 RISC-V 虚拟机支持 Linux 运行时环境,允许像你…...
架构篇--代码质量手册
目前团队缺少SA(研发经理)的角色,大家代码写的有点随意,老板让我写一份开发手册。嗯!!!当时我稍微纠结了一下,感觉这个似乎不是我的工作范畴,但是本着"我就是块砖&a…...
那些年用过的IDEA插件
今天和大家分享一下经常使用的IDEA的插件,希望有所帮助。一、IDEA插件CodeGlance2显示代码缩略图插件,方便查看代码。Lombok用于编译期间自动生成getter、setter、构造、toString等方法,简化代码。Mybatis Builder或MybatisXMapper接口和xml双…...
python+requests实现接口自动化测试
这两天一直在找直接用python做接口自动化的方法,在网上也搜了一些博客参考,今天自己动手试了一下。 一、整体结构 上图是项目的目录结构,下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类,比如数据库sqlhe…...
rtthread 线程
创建动态线程最简单代码 #include <rtthread.h>//包含头文件static rt_thread_t thread1 RT_NULL; //创建线程控制块指针,指向空static void thread1_entry(void *parameter)//线程入口(干什么) {rt_kprintf("do something"…...
伯恩光学再成被执行人:多次因劳动纠纷被起诉,曾冲刺港交所上市
近日,贝多财经从天眼查APP了解到,伯恩光学(深圳)有限公司(下称“伯恩光学”)因《伯恩光学(深圳)有限公司与温*燕劳动合同纠纷的案件》一事,被广东省深圳市龙岗区人民法院…...
mysql基础操作2
通配符_:一个任意字符,like ‘张_’%:任意长度的字符串,like ‘co%’,‘%co’,‘%co%’【】:括号中所指定范围内的一个字符,like ‘9W0【1-2】’【^】:不在括号中所指定范…...
指针的进阶【下篇】
文章目录📀8.指向函数指针数组的指针📀9.回调函数📀8.指向函数指针数组的指针 🌰请看代码与注释👇 int Add(int x, int y) {return x y; } int Sub(int x, int y) {return x - y; } int main() {int (*pf)(int, int…...
不同序列模型的输入和输出总结
不同序列模型的输入和输出总结 文章目录不同序列模型的输入和输出总结RNNLSTMGRURNN RNN 是迭代输出: 输入第一个 -> 输出第二个, 输入第二个 -> 输出第三个, 输出倒数第二个 -> 输出最后一个。 LSTM LSTM 也是迭代输出ÿ…...
基于神经网络补偿的主动悬架自适应控制
目录 前言 1. 1/4悬架模型 2.仿真分析 2.1仿真模型 2.2仿真结果 2.1 形① 2.2 形② 3. 总结 前言 上两篇博客我们介绍了神经网络补偿控制律的仿真测试,从仿真结果我们可以得知神经网络具有逼近扰动,并将其补偿的作用。 上两篇文章链接…...
什么是链表,如何实现?(单链表篇)
欢迎来到 Claffic 的博客 💞💞💞 “仅仅活着是不够的,还需要有阳光,自由和花的芬芳。” 前言: 在日常使用的网站和软件中,列表属于最常见的一种东西了,其实现形式有顺序表࿰…...
探针台简介
探针台,是我们半导体实验室电学性能测试的常用设备,也是各大实验室以及芯片设计、封装测试的熟客。设备具备各项优势,高性能低成本,用途广,操作方便,在不同测试环境下,测试结果稳定,…...
ABAP 辨析 标准表|排序表|哈希表
1、文档介绍 本文档将介绍内表的区别和用法,涉及标准表、排序表、哈希表 2、用法与区别 2.1、内表种类 内表顶层为任意表,任意表分为索引表和哈希表,索引表又可分为标准表和排序表,结构如图: 2.2、内表用法 2.2.1…...
MIGO 物料过账 创建物料凭证 BAPI_GOODSMVT_CREATE
文章目录1.前台操作2.需求分析2.1调用方式2.2分为两大概括:2.3业务逻辑细节图3.BAPI_GOODSMVT_CREATE4.RFC接口代码5.总结1.前台操作 SAP CO01(创建生产订单)/MIGO(发货投料)前台操作 这里面有migo的前台操作,首先了解前台操作后再去写RFC接口是比较容易理解的.!! 2.需求分析…...
项目经理处理团队冲突 5大注意事项
1、在时间、场景、体验矩阵中的5种处理方式 第一种方式:强迫命令,即职位高的一方在不考虑对方感受的情况下,强迫职位低的一方接受自己的意见。这种处理方式的适用场景为重要且紧急,这种方式团队成员的体验感低。 第二种方式&#…...
大连seo外包公司/品牌推广百度seo
1.软件的前期准备分为“需求准备”和“构建准备”,两者都有系统的规范。code complete中对这两者都提出了详细的确认方法。这里的确认方法并非戒律,而更像备忘。 2.在构建活动中的设计部分,书中提出了几大范围,我个人觉得划分得非…...
电商网站制作方案/网络推广文案策划
Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: In aggregated query without GROUP BY, expression #3 of SELECT list contains nonaggregated column...
杭州app定制/关键词排名优化工具有用吗
隐藏index.php 一、codeigniter codeigniter和许多php框架一样,有个单一入口index.php,从url上看,显得很不友好。通过apache的rewirte,是可以隐藏掉的,实现伪url。 打开codeigniter下system\application\config中的config.php …...
shopify做全品类网站/百度快照官网
5月12日,英国、意大利、俄罗斯等多个国家爆发勒索病毒攻击,国内校园网也出现大面积感染。 这并不是勒索病毒首次发威。近几年来,勒索病毒已经多次出现爆发的情况。黑客利用Windows漏洞传播病毒后,感染病毒的计算机会将用户的文件加…...
给个网站谢谢各位了/域名查询系统
1.股票 股票是股份有限公司签发的证明股东所持股份的凭证。股票具有权利性、非返还性、风险性和流通性等特点。目前,我国发行的股票按照投资主体的不同,可分为国家股、法人股、内部职工股和社会公众个人股;按照股东权益和风险大小,可以分为普…...
做外贸在那些网站找客户/福州短视频seo
一种特殊的索引,它会把某个数据表的某个数据列出现过的所有单词生成一份清单。 alter table tablename add fulltext(column1,column2) 只能在MyISAM数据表中创建 少于3个字符的单词不会被包含在全文索引里,可以通过修改my.cnf修改选项 ft_min_word_le…...