[19/03/16-星期六] 常用类_Date时间类&DateFormat类
一、Date时间类
计算机中 以1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一)
用ong类型的变量来表示时间,如当前时刻数值:long now =new System.currentTimeMillis();
【常用方法】
1. Date() 分配一个Date对象,并初始化此对象为系统当前的日期和时间,可以精确到毫秒。
2. Date(long date) 分配 Date 对象并初始化此对象,以表示自从标准基准时间(称为“历元(epoch)”,即 1970 年 1 月 1 日 00:00:00 GMT)以来的指定毫秒数。
3. boolean after(Date when) 测试此日期是否在指定日期之后。
4. booleanbefore(Date when) 测试此日期是否在指定日期之前。
5. boolean equals(Object obj) 比较两个日期的相等性。
6. long getTime() 返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
7. String toString() 把此 Date 对象转换为以下形式的 String: dow mon dd hh:mm:ss zzz yyyy 其中: dow 是一周中的某一天 (Sun、 Mon、Tue、Wed、 Thu、 Fri、 Sat)。
【代码示例】
/**
* 测试时间类
*/
package cn.sxt.test; import java.util.Date;
public class Test_0316_DateClass {
public static void main(String[] args) {
Date date=new Date();//根据Java源码可看出,如果这个构造Date类,什么参数都不传,会输出当前时刻的时间
System.out.println(date); Date date2=new Date(2000); //这个Date类传进去参数为2000(毫秒),会输出从1970年1月1日00:00 起经过2000毫秒后的时刻
System.out.println(date2);//由于中国位于东八区 会在输出时刻的基础上加8个小时(此函数以格林威治时间为标准) 输出8:00:02 System.out.println(date.getTime());//getTime()从基准时刻算起,获得当前时刻的毫秒数
System.out.println(date2.getTime()); System.out.println(date.after(date2));//判断对象date时刻是否在对象date2时刻之后
System.out.println(date.before(date2));//判断对象date时刻是否在对象date2时刻之前 } }
二、DateFormat类 (时间格式化类)
把时间对象转化成指定格式的字符串。反之,把指定格式的字符串转化成时间对象。
DateFormat是一个抽象类,一般使用它的的子类SimpleDateFormat类来实现。
【代码示例】
/*
*测试时间对象和字符串之间的相互转化
* DateFormat类 时间格式类 是个抽象类
*/
package cn.sxt.test; import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test_0316_DateFormatClass {
public static void main(String[] args) throws ParseException { //抽象类DateFormat不能通过new一个对象 而是通过实现类SimpleDateFormat来new 一个对象 //"把时间对象按照格式字符串输出 " 格式化输出日期 年(年是4位数字,用4个y)月(月2位,2个M)日(日2位,2个d) 以下同理
DateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
DateFormat dFormat1 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒 ");//yyyy等是特殊标记不要变,其它自定义 String str=dFormat.format(new Date());//new Date() 当前时间的一个对象;dFormat.format()按照自定义的格式输出当前时间
System.out.println(str);
System.out.println(dFormat1.format(new Date(4000)));//上面的更加缩写版 表示按格式输出4000毫秒后的时间 //把字符串转成相应的时间对象输出 String str1="2019-10-01 10:00:05";//字符串必须按照时间对象dFormat的("yyyy-MM-dd hh:mm:ss")格式书写才会输出
Date date = dFormat.parse(str1);
System.out.println(date); //测试其它格式
DateFormat dFormat2 = new SimpleDateFormat("2019年第D天,当月的第d天,当月的第F星期,上/下午:a");
System.out.println(dFormat2.format(date)); } }
[19/03/16-星期六] 常用类_Date时间类&DateFormat类的更多相关文章
- 常用类一一时间处理相关类一一java.util.Tomezone(java.util.Calendar , java.util.Date , java.text.DateFormat)
时间处理相关类 时间是一个一维的东东.所以,我们需要一把刻度尺来区表达和度量时间.在计算机世界,我们把1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一). ...
- [19/03/17-星期日] 常用类_Calendar日历类&GregorianCalendar公历日历类
一.概念 Calendar 类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年.月.日.时.分.秒的展示和计算. GregorianCalendar 是 Calendar 的一个具体子类,提 ...
- 使用 Date 和 SimpleDateFormat 类表示时间、Calendar类和Math类
一. Date 和 SimpleDateFormat类表示时间 在程序开发中,经常需要处理日期和时间的相关数据,此时我们可以使用 java.util 包中的 Date 类.这个类最主要的作用就是获取当 ...
- java 常用类库:时间类LocalDate;LocalTime;LocalDateTime;Calendar 类;Date ;
LocalDate类 LocalDate类代表不带时区的日期,列入2020-12-20.该类提供了静态的now()方法来获取当前的日期.这个类是线程安全的. LocalTime类 代表不带时区的时间, ...
- asp.net(C#)常用时间日期处理类
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...
- [19/03/31-星期日] IO技术_四大抽象类_字符流( 字符输入流 Reader、 字符输出流 Writer )(含字符缓冲类)
一.概念 Reader Reader用于读取的字符流抽象类,数据单位为字符. int read(): 读取一个字符的数据,并将字符的值作为int类型返回(0-65535之间的一个值,即Unicode ...
- Java常用类之时间类
JDK8之前日期时间API 1. java.lang.System类 2. java.util.Date类 3. java.text.SimpleDateFormat类 4. java.util.Ca ...
- asp.net(C#)实现功能强大的时间日期处理类完整实例
作者:smartsmile2012 字体:[增加 减小] 类型:转载 时间:2016-06-30我要评论 这篇文章主要介绍了asp.net(C#)实现功能强大的时间日期处理类,封装了针对日期与时间的各 ...
- Java ——日期时间 日期时间相关类 随机数 定义类属性时建议使用引用数据类型
本节重点思维导图 Date对象创建 两个构造函数: Date() ----使用当前日期和时间来初始化对象 Date(long millisec) -----接收一个参数,该参数是从1970年1月1日起 ...
随机推荐
- git修改密码
1.Windows10下更换Git用户名或密码 https://jingyan.baidu.com/article/642c9d3435a6e9644a46f732.html
- AWS and OpenStack
AWS OpenStack EC2 Nova EBS Cinder EFS Manila S3 Swift Storage Gateway 本地上云 ClondFront 内容发布服务 VPC Neu ...
- Python Fileinput 模块
作者博文地址:http://www.cnblogs.com/liu-shuai/ fileinput模块提供处理一个或多个文本文件的功能,可以通过使用for循环来读取一个或多个文本文件的所有行. [默 ...
- Maven工程红色感叹号,且工程无红叉错误
很可能是jar包不对,可以将maven库里的jar包删除,从 http://mvnrepository.com/ 根据jar包版本号下载到本地maven库,并在pom.xml里引入jar依赖 这次ja ...
- Win7 x86内核调试与TP反调试的研究
参考 这两天对某P双机调试的学习及成果 ,非常好的一篇分析贴. 本文在Win7 x86下的分析,在虚拟机中以/DEBUG模式启动TP游戏,系统会自动重启. 0x01 内核调试全局变量 根据软件调试 ...
- 机器学习——XGBoost
基础概念 XGBoost(eXtreme Gradient Boosting)是GradientBoosting算法的一个优化的版本,针对传统GBDT算法做了很多细节改进,包括损失函数.正则化.切分点 ...
- C语言中extern的用法--转
http://blog.sina.com.cn/s/blog_52deb9d50100ml6y.html 在C语言中,修饰符extern用在变量或者函数的声明前,用来说明“此变量/函数是在别处定义的, ...
- Windows与Unix思想
Unix与Windows的思想 Unix中的哲学是"一切皆文件",这里的一切皆文件是一个广泛的概念,有一些特殊的设备文件,在/dev目录下 物理设备在Unix中就对应一个特殊的设备 ...
- Dictionary集合 字典
1 Dictionary<int, string> dic = new Dictionary<int, string>(); dic.Add(,"张三"); ...
- sql查询时,根据特定的条件给表的某一个字段赋值
先讲一下需要这个需求的情景: 这是一个招聘求职项目遇到的一个问题.个人A向公司B的职位投递简历后,公司B会收到个人A的简历;但是A投递后把简历删除,公司收到的简历信箱 还有这个简历,但却不能看了. 原 ...