温馨提示:
本人在http://how2j.cn?p=36286这个网站学习的第一天,做个总结,欢迎大家前去访问学习。
在这个网站里面有系统的学习路线,大家可以根据自己的情况选择合适的学习路线。(点击图片即可跳转到这个页面哦,去试试吧)

  • 时间原点

所有的数据类型,最终都是以数字的形式表现出来的。
比如:2019-01-15,在计算机中就是1547548010031
0对应的是Java的时间原点,对应的日期是1970年1月1日8点0分0秒 。

  1. (为什么是8点,因为中国的太平洋时区是UTC-8,刚好和格林威治时间差8个小时)
  2. (为什么对应1970年呢? 因为1969年发布了第一个 UNIX
    版本:AT&T,综合考虑,当时就把1970年当做了时间原点。所有的日期,都是以为这个0点为基准,每过一毫秒,就+1。)
  • 创建日期对象
package date;import java.util.Date;public class DateDemo
{public static void main(String[] args) {//获取当前时间Date date = new Date();System.out.println("输出当前时间:"+date);}}

程序输出结果:

输出当前时间:Tue Jan 15 18:05:36 CST 2019

示例1:接下来我们将日期转换成字符串(2019-01-15)这种形式

package date;import java.text.SimpleDateFormat;
import java.util.Date;public class DateDemo
{public static void main(String[] args) {//获取当前时间Date date = new Date();System.out.println("输出当前时间:"+date);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");//将日期格式转换成字符串String str = sdf.format(date);System.out.println("当前时间转换成字符串:"+str);}}

程序输出结果:

输出当前时间:Tue Jan 15 18:05:36 CST 2019
当前时间转换成字符串:2019-01-15 18:16:06 693

示例2:在把字符串转换成日期格式:

package date;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;public class DateDemo
{public static void main(String[] args) {//获取当前时间Date date = new Date();System.out.println("输出当前时间:"+date);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");//将日期转换成字符串String str = sdf.format(date);System.out.println("当前时间转换成字符串:"+str);//将字符串转换成日期格式try {Date date2 = sdf.parse(str);System.out.println("字符串转换成日期格式:"+date2);} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}}
}

程序输出结果:

输出当前时间:Tue Jan 15 18:22:58 CST 2019
当前时间转换成字符串:2019-01-15 18:22:58 031
字符串转换成日期格式:Tue Jan 15 18:22:58 CST 2019

科普:
//y 代表年
//M 代表月
//d 代表日
//H 代表24进制的小时
//h 代表12进制的小时
//m 代表分钟
//s 代表秒
//S 代表毫秒

示例3:练习-日期格式化

题目:
准备一个长度是9的日期数组
使用1970年-2000年之间的随机日期初始化该数组
按照这些日期的时间进行升序排序
比如 1988-1-21 12:33:22 就会排在 1978-4-21 19:07:23 前面,因为它的时间更小,虽然日期更大

答案:

package date;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;/**
1.声明日期数组
2.设置日期格式
3.设置最后日期为2000年
4.获取随机时间
5.遍历日期数组(获取到1970-2000年之间的随机数)
6.对日期数组进行升序排序* @author eleven**/public class DateDemo {public static void main(String[] args) {//声明日期数组Date[] date = new Date[9];//设置日期格式SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SS");//设置最后日期为2000年String str = "2000-01-01 00:00:00:000";Date d = new Date();try {d = sdf.parse(str);//将当前时间设置为2000年} catch (ParseException e) {// TODO Auto-generated catch blocke.printStackTrace();}//获取随机时间long time = d.getTime();System.out.println("获取到的是随机时间是:");//遍历日期数组for (int i = 0; i <=8; i++) {date[i] =new Date((long) (Math.random()*time));//获取1970年-2000年之间的随机数String s = sdf.format(date[i]);System.out.println(s);}//对日期后的数组进行升序排序Arrays.sort(date);System.out.println("排序后的时间");for (int i = 0; i <= 8; i++) {String s = sdf.format(date[i]);System.out.println(s);}}}

输出的结果:

获取到的是随机时间是:
1980-06-20 21:19:13:07
1973-12-02 06:28:35:395
1994-07-03 04:00:26:165
1990-08-16 02:51:58:447
1976-10-05 15:05:21:551
1983-06-27 06:09:27:231
1976-07-15 12:51:54:317
1997-07-13 06:13:01:02
1987-04-13 22:26:30:65
升序排序后的时间
1973-12-02 06:28:35:395
1976-07-15 12:51:54:317
1976-10-05 15:05:21:551
1980-06-20 21:19:13:07
1983-06-27 06:09:27:231
1987-04-13 22:26:30:65
1990-08-16 02:51:58:447
1994-07-03 04:00:26:165
1997-07-13 06:13:01:02

友情链接:http://how2j.cn?p=36286

Java--第1天--日期(一)相关推荐

  1. java得出两个日期之间所有日期

    java得出两个日期之间所有日期 近日老要跑系统日志,每次发生问题要遍历每日的情况.代码改了好几次,每次输入的日期变化,都要修改不少代码.于是写了个日期类来调用. 包含以下功能 1.判断是否为闰年 2 ...

  2. 计算机二级日期格式,09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象...

    09年计算机二级辅导:指定格式的日期字符串转化成java.util.Date类型日期对象 分类:计算机等级| 更新时间:2008-10-16| 来源:教育联展网 将未指定格式的日期字符串转化成java ...

  3. Java 8 中处理日期和时间示例

    在Java 8以前,日期和时间处理一直被广大java程序员抱怨太难用,首先是java.util和java.sql中,都包含Date类,如果要进行时间格式化,还需要java.text.DateForma ...

  4. 【Java】7.5 正则表达式 7.6 Java 8 新增的日期、时间格式器

    目录 Pattern类 Matcher类 Java 8 新增的日期.时间格式器 Pattern类 Pattern类的实例是将一个编译好的正则表达式封装起来.因此正则表达式字符串必须先被变异成Patte ...

  5. (Java常用类)日期时间类

    文章目录 Date类 概述 常用方法 代码演示 DateFormat类 构造方法 格式规则 常用方法 代码演示 Calendar类 概念 获取方式 常用方法 get/set方法 add方法 getTi ...

  6. Java计算时间差、日期差总结(亲测)

    Java计算时间差.日期差总结 最近工作中遇到需要计算时间差,搜索了几种计算时间差的方法,这里总结一下 1.java 7中的日历类Calendar Calendar类使用其静态的getInstance ...

  7. Java 比较两个日期的方法

    Java 比较两个日期的方法 Java的日期类型比较可以使用如下三种方法: 使用Date类的CompareTo方法 使用Date类的equals(), before() 和after()方法 使用Ca ...

  8. java对象如何保存日期_如何在Java中的日期对象中存储和检索毫秒?

    我正在制作一个读取字幕(.srt)文件的基本Java程序,我想将每次存储为Date对象.我真的只需要跟踪小时,分钟,秒和毫秒(到3位数).我想我能用这个存储它: String start = &quo ...

  9. java 拼图_拼图推迟将Java 9的发布日期推迟到2017年

    java 拼图 由于Project Jigsaw的延迟,Java 9的发布日期被推迟到2017年 由于项目延迟的悠久历史,这可能不足为奇,但是看起来备受期待的拼图项目已被延迟. 再次. 好消息是,与上 ...

  10. 拼图推迟将Java 9的发布日期推迟到2017年

    由于Jigsaw项目的延迟,Java 9的发布日期被推迟到2017年 由于项目延迟的悠久历史,这可能不足为奇,但是看起来备受期待的拼图项目已被延迟. 再次. 好消息是,与上一次使用Java 8不同,它 ...

最新文章

  1. SpringMVC - 非注解的处理器映射器和适配器
  2. C++ list::splice()用法
  3. java下拉菜单_薪资对比:Java开发和web前端薪资哪个好
  4. Web前端之移动端课程开发之06.bootstrap
  5. How to resolve Unable to load groups error message
  6. Oracle数据库数据泵导入导出
  7. Xshell远程管理Linux
  8. StreamingAssets文件夹的读取异常
  9. 最新快手JS逆向分析
  10. html5如何将4张照片排列,如何将多张图片排列在一张图片呢?学会这两种技巧,轻松搞定...
  11. 免费下载380套大型商业源码
  12. IT前沿技术之node.js篇一:Node.js与javascript
  13. tcp socket 和 socket文件
  14. kumo词云使用io_Microsoft Kumo Search可以在Google上使用。 再次。
  15. 《Cortex-CM3权威指南》——Cortex-CM3基础
  16. 无法安装64位office,因为已有32位版本……解决办法
  17. X-editable 文档 中文版
  18. SandHook 第三弹 - 性能优化 Xposed 模块 阻止 VM Inline
  19. 河南某商务楼BA系统设计
  20. 在PC上使用微信读书

热门文章

  1. 第五十一篇 前端之CSS内容
  2. 简笔画花边边框超简单_花边简笔画简单又漂亮 手抄报的边框图片大全
  3. Linux云计算运维之Shell
  4. oracle数据库怎么ping,Oracle中tnsping命令解析
  5. Oracle undo表空间管理
  6. 仔细体验,我想从产品设计的角度分析分析微信的声音锁
  7. TL-WDN5200H无线usb网卡在Linux上的使用
  8. 为什么打开wps文字背景是绿色的?怎么变成白色的呢?
  9. html删除图片效果,html+css实现图片右上角加删除叉、图片删除按钮
  10. Python 发邮件