菜鸡的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*// ...
随机推荐
- 获取HTML网页中option标签元素的值
在进行表单元素的操作时,难免会遇到对option元素的挑选,下面的示例代码能够很好的获取到你option元素选择的值,如果要传递给后端,可通过ajax或者其他方式传递即可. 示例代码 <!doc ...
- 怎样将.h文件添加到项目中
作为C++的初学者,在运行别人的程序时,第一个遇到的问题就是无法将程序中写到的.h文件包含到项目中来.下面来写一下处理方法.本文以easyx.h为例进行说明 首先右键你的工程 选择Properties ...
- 6岁!是时候重新认识下Serverless了
一.背景 Serverless 概念从2012年开始提出,真正推出相关云产品是2014年AWS推出Lambda.如果我们将 Serverless 比作一个婴儿,那么它已经6岁了. 虽然业界对Serve ...
- 10 月 30 日 北京 LiveVideoStack 阿里云视频云专场限量赠票 100 张
10 月 30 日 | 北京 LiveVideoStack 将携手阿里云共邀 4 位技术大咖,一同探讨从上云到创新,视频云的新技术与新场景.阿里云视频云依托阿里云服务数百万开发者的卓越服务能力与实践, ...
- 电脑日常使用bug记录
1.由于电脑太卡了,于是决定关一点服务,一不小心,电脑无线无法使用了.启动无线服务时提示"windows无法启动wlan autoconfig服务错误1068依赖服务" 启动 Ex ...
- 网络通信IO的演变过程(一)(一个门外汉的理解)
以前从来不懂IO的底层,只知道一个大概,就是输入输出的管道怼到一起,然后就可以传输数据了. 最近看了周志垒老师的公开课后,醍醐灌顶. 所以做一个简单的记录. 0 计算机组成原理相关 0.1. 计算机的 ...
- 基于Apache Zookeeper手写实现动态配置中心(纯代码实践)
相信大家都知道,每个项目中会有一些配置信息放在一个独立的properties文件中,比如application.properties.这个文件中会放一些常量的配置,比如数据库连接信息.线程池大小.限流 ...
- kivy画个半圆
from kivy.uix.boxlayout import BoxLayout from kivy.app import App class BoxLayoutWidget(BoxLayout): ...
- 混合开发框架Flutter
Flutter开发简介与其他的混合开发的对比 为什么要使用Flutter? 跨平台技术简介 Hybrid技术简介 QT简介 Flutter简介 为什么要使用Flutter? Flutter有什么优势? ...
- 2020BUAA软工个人博客作业
2020BUAA软工个人博客作业 17373010 杜博玮 项目 内容 这个作业属于哪个课程 2020春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 个人博客作业 我在这个课程的目标是 学 ...