菜鸡的Java笔记 日期操作类
日期操作类
Date 类与 long 数据类型的转换
SimpleDateFormat 类的使用
Calendar 类的使用
如果要想取得当前的日期时间,直接实例化 java.util.Date; 类即可取得
package cn.mysterious.study3;
import java.util.Date;
public class DateClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Date date = new Date();
System.out.println(date);
}
}
/*
结果:
Tue Sep 05 23:23:11 CST 2017
*/
虽然 Date 类的对象可以取得当前的日期时间,但是结果是这个日期时间的可读性不合适中国人
一直强调,日期时间 = long 数据内容。这一点在 Date 两类上有很好的体现
构造方法: public Date(long date)
将 Date 以 long 型返回: public long getTime()
范例:实现转换
package cn.mysterious.study3;
import java.util.Date;
public class DateClass {
public static void main(String[] args) {
// TODO Auto-generated method stub
Date date = new Date(); // Date 类对象
long num = date.getTime(); // 将 Date 以 long 型返回
System.out.println(num);
}
}
在实际的使用过程之中,很少会出现这样的转换,但是至少你的头脑中应该清楚,long 和 Date 可以互相转换
日期格式化: SimpleDateFormat (核心,背)
Date 虽然可以直接进行日期时间的取得,但是大部分情况下这样的日期时间取得并不好用,因为它给出日期时间格式我们很多人看不懂
所以在java中考虑到了日期的显式格式要求。那么往往最终都会按照 String进行显式
如果要想实现这样的格式化操作,可以使用 java.text.SimpleDateFormat 类完成,在这个类有以下几个方法:
构造方法: public SimpleDateFormat(String pattern)
格式化标记:年(yyyy)月(MM)日(dd)时(HH)分(mm)秒(ss)毫秒(SS)
将日期格式化为字符串: public final String format(Date date)
将字符串变为日期时间: public Date parse(String source) throws ParseException
范例:就爱那个日期格式化为字符串
package cn.mysterious.study3; import java.text.SimpleDateFormat;
import java.util.Date; public class DateClass { public static void main(String[] args) {
// TODO Auto-generated method stub
Date date = new Date(); // Date 类对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
String str = sdf.format(date); // 将日期格式化为字符串
System.out.println(str);
} }
范例:将字符串变为日期时间
package cn.mysterious.study3; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; public class DateClass { public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
String str = "1997-10-01 00:00:00.001";
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SS");
Date date = sdf.parse(str); // 将字符串变为日期
System.out.println(date);
} }
总结:现在为止 String,基本类型,Date 已经实现了彻底的转换贯通
String 变为基本类型:包装类
基本类型变为 String : String vallueOf();
Date 与 String 转换: SimpleDateFormat
Calendar 类
Calendar 主要的功能是可以进行日期时间的拼凑使用。 Calendar 本身是一个抽象类
但是现在可以直接利用这个抽象类中提供的 static 方法进行实例化对象的取得:
public static Calendar getInstance()
随后可以利用 Calendar 类中的一个方法取得指定的日期时间数据:
public int get(int field)
但是在使用此方法的时候需要使用一些特定的常量
范例:取得当前的日期时间
package cn.mysterious.study3; import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date; public class DateClass { public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
Calendar cal = Calendar.getInstance(); // 取得 Calendar 类的实例化对象
StringBuffer buf = new StringBuffer();
buf.append(cal.get(Calendar.YEAR)).append("年");
buf.append(cal.get(Calendar.MONTH) + 1).append("月"); // 它是从0月开始计算的 所以+1
buf.append(cal.get(Calendar.DAY_OF_MONTH)).append("日");
buf.append(cal.get(Calendar.HOUR_OF_DAY)).append("时");
buf.append(cal.get(Calendar.MINUTE)).append("分");
buf.append(cal.get(Calendar.SECOND)).append("秒");
buf.append(cal.get(Calendar.MILLISECOND)).append("毫秒");
System.out.println(buf);
} }
使用 Calendar 的好处是可以方便的计算出日期或时间之间的间隔
总结:
java.util.Date; 代表的就是日期时间
SimpleDateFormat 可以实现字符串与日期间的转换操作
菜鸡的Java笔记 日期操作类的更多相关文章
- 菜鸡的Java笔记 数字操作类
数字操作类 Math 类的使用 Random 类的使用 BigInteger 和 BigDecimal 类的使用 Math 是一 ...
- 菜鸡的Java笔记 Object 类
Object 类 Object类 的主要作用 Object 类的常用方法 内容 虽然有了对象的向上转型,可以解决了参数的统一问题,但是 ...
- 菜鸡的Java笔记 实践 - java 数组操作
讲解一个继承的实现思路 要求定义一个数组操作类(Array类),在这个类里面可以进行整型数组的操作,由外部传入数组的大小 ,并且要求实现数据的保存以及数据的 ...
- 菜鸡的Java笔记 - java 常用类库
CommonClassLibrary 常用类库 定时调度 定时调度指的是每到一个时刻,都会自动的产生某些特定的操作形式 con ...
- 菜鸡的Java笔记 - java 反射机制
反射机制 1.观察 Class 类的使用 2.利用反射改善工程设计模式 3.反射操作类结构 content (内容) 1. ...
- 菜鸡的Java笔记 comparator 比较器
1.数组操作类: Arrays 2.两种比较器的使用: Comparable Comparator 3.实现二叉树算法 content (内容) ...
- 菜鸡的Java笔记 第三十 - java 异常的捕获及处理
异常的捕获及处理 1.异常的产生分析以及所带来的影响 2.异常的处理的基本格式 3.异常的处理流程 4.异常的处理模式 5.自定义 ...
- 菜鸡的Java笔记 第二十八 - java 包的定义
包的主要作用以及定义 包的导入操作 系统常见的开发包 jar 程序命令 包的定义 在任何的操作系统之中都有一个统一的共识:同一个目录下不能够存在有相同的文 ...
- 菜鸡的Java笔记 第十七 static 关键字
static 是java中定义的一个关键字,主要是描述全局的概念,所以利用static关键字可以定义属性,定义方法 但是在90%的情况下,我们的开发代码很少会去直接编写static*// ...
随机推荐
- Docker-Compose的一些常用命令
一.Docker-Compose简介 1.Docker-Compose简介 Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排. Docker-Co ...
- Bootstrap的模态框无法弹出的问题
今天在使用Bootstrap官网所提供的模态框插件时候发现其中的 可选尺寸模态框 无法弹出 在模态框前使用过其他 Bootstrap的js插件,可以正常使用,说明所需依赖js文件已经正常引用 注意:j ...
- Go语言之数组与切片基础
一.数组 数组是同一类型元素的集合,可以放多个值,但是类型一致,内存中连续存储 Go 语言中不允许混合不同类型的元素,而且数组的大小,在定义阶段就确定了,不能更改 1.数组的定义 // 定义一个大小为 ...
- 如何通过 Serverless 技术降低微服务应用资源成本?
前言 在大型分布式 IT 架构领域,微服务是一项必不可少的技术.从本质上来讲,微服务是一种架构风格,将一个大型的系统拆分为多个拥有独立生命周期的应用,应用之间采用轻量级的通信机制进行通信.这些应用都是 ...
- 洛谷3195 [HNOI2008]玩具装箱TOY(斜率优化+dp)
qwq斜率优化好题 第一步还是考虑最朴素的\(dp\) \[dp=dp[j]+(i-j-1+sum[i]-sum[j])^2 \] 设\(f[i]=sum[i]+i\) 那么考虑将上述柿子变成$$dp ...
- 更好的 java 重试框架 sisyphus 入门简介
What is Sisyphus sisyphus 综合了 spring-retry 和 gauva-retrying 的优势,使用起来也非常灵活. 为什么选择这个名字 我觉得重试做的事情和西西弗斯很 ...
- Golang通脉之切片
因为数组的长度是固定的并且数组长度属于类型的一部分,所以数组有很多的局限性. func arraySum(x [3]int) int{ sum := 0 for _, v := range x{ su ...
- 【Java虚拟机1】Java字节码文件格式入门
第一次学习看字节码文件,这个对工作没什么用,但是会提升内功. 首先介绍两个IDEA插件以及使用: BinEd:以16进制格式查看class文件 使用方法:右键class文件,点击Open as bin ...
- OO2020 助教工作总结
1 我的初衷 这一学期的OO助教工作是我一段宝贵的经历,在其中我学习了很多.见识了很多,收获满满.当时报名OO的初衷主要有三方面.首先,我想说OO是我所上过的最好的一门课之一,这门课有这一套从理论讲授 ...
- 了解 js 堆内存 、栈内存 。
js中的堆内存与栈内存 在js引擎中对变量的存储主要有两种位置,堆内存和栈内存. 和java中对内存的处理类似,栈内存主要用于存储各种基本类型的变量,包括Boolean.Number.String.U ...