时间处理相关类

https://www.bilibili.com/video/BV1bW411o7TJ?p=9

1970年1月1日00:00:00为基准时间,度量单位为毫秒

long now = System.currentTimeMillis();

public class Demo00 {public static void main(String[] args) {Date d = new Date(2000);System.out.println(d.getTime()); // 2000Date d2 = new Date();System.out.println(d2.getTime()); // 当前电脑的时刻 1590648121187System.out.println(d2.after(d)); // trueDate d3 = new Date(2020,2,10);System.out.println(d3); // Wed Mar 10 00:00:00 PST 3920// year - 1900; mon:0-11}
}

遇到日期处理,使用calendar

DateFormat class

时间对象转化为指定格式的字符串,以及把指定格式的字符串转换为时间对象

DateFormat 是一个抽象类,一般使用他的子类SimpleDateFormat类来实现

package com.commonclass.timeclass;import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;// 测试时间对象和字符串对象之间的互相转换
// dateformat抽象类和simpledateformate实现类的使用
public class Demo01 {public static void main(String[] args) throws ParseException {// 把时间对象按照"格式字符串指定的格式"转为相应的字符串// 需要定义格式DateFormat df = new SimpleDateFormat("yyyy年MM-dd hh:mm:ss");String str = df.format(new Date(40000000));System.out.println(str); // 1970年01-01 03:06:40// 把字符串按照"格式字符串指定的格式"专程相应的时间对象DateFormat df2 = new SimpleDateFormat("yyyy年MM月dd日 hh时mm分ss秒");Date date = df2.parse("2020年05月28日 11时30分00秒");System.out.println(date); // Thu May 28 11:30:00 PDT 2020// 测试其他的格式字符DateFormat df3 = new SimpleDateFormat("D");String str3 = df3.format(new Date());System.out.println(str3); // 149 是今年的第149天}
}

calendar日历类

抽象类,提供日期计算的相关功能

注意月份的表示:0 - 11

日期的获取与设置

package com.commonclass.timeclass;
import java.util.Calendar;
import java.util.GregorianCalendar;// test calendar
public class Demo02 {public static void main(String[] args) {// 创建日期类Calendar calendar = new GregorianCalendar(2999,10,9,22,10,50);// 获得日期的相关元素 get方法int day = calendar.get(Calendar.DATE);int year = calendar.get(Calendar.YEAR);int month = calendar.get(Calendar.MONTH);int weekday = calendar.get(Calendar.DAY_OF_WEEK);System.out.println(year); // 2999System.out.println(month); // 10 - NovemberSystem.out.println(weekday); // 7 [1(sunday)-7[saturday]]System.out.println(day); // 9// 设置日期的相关元素Calendar c2 = new GregorianCalendar(); // 不设置参数,c2为当前日期c2.set(Calendar.YEAR,8012);System.out.println(c2);}
}

日期的计算

package com.commonclass.timeclass;import java.text.DateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;// 日期的计算
public class Demo03 {public static void main(String[] args) {// 计算Calendar c = new GregorianCalendar();c.add(Calendar.DATE,100); // 日期往后一百天System.out.println(c); // YEAR=2020,MONTH=8,WEEK_OF_YEAR=36// 日期对象和时间对象的转化Date d = c.getTime(); // 日期对象转为时间对象Calendar c1 = new GregorianCalendar();c1.setTime(new Date()); // 时间对象转为日期类System.out.println(d); // Sat Sep 05 11:56:45 PDT 2020printCalendar(c1); // 2020年5月28日 0时7分5秒 周4}public static void printCalendar(Calendar c){// print yyyy年MM月dd日 hh时mm分ss秒 周几int year = c.get(Calendar.YEAR);int month = c.get(Calendar.MONTH)+1;int date = c.get(Calendar.DAY_OF_MONTH);int weekday = c.get(Calendar.DAY_OF_WEEK)-1;String weekday2 = weekday == 0 ? "日" : weekday + "";int hour = c.get(Calendar.HOUR);int minute = c.get(Calendar.MINUTE);int second = c.get(Calendar.SECOND);System.out.println(year+"年"+month+"月"+date+"日 "+hour+"时"+minute+"分"+second+"秒 "+ "周"+weekday2);}
}

可视化日历程序

package com.commonclass.timeclass;import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.GregorianCalendar;
import java.util.Scanner;// 可视化日历程序
public class Demo04 {public static void main(String[] args) throws ParseException {System.out.println("please enter date(format:2020-4-5)");Scanner scanner = new Scanner(System.in);String str = scanner.nextLine();
//        String str = "2028-9-10";DateFormat df = new SimpleDateFormat("yyyy-MM-dd");Date date = df.parse(str); // 字符串转为时间对象Calendar c = new GregorianCalendar(); // 日期类c.setTime(date); // 时间对象转为日期对象int day = c.get(Calendar.DAY_OF_MONTH); // 获取dayint maxday = c.getActualMaximum(Calendar.DATE); // 获取每月最大天数System.out.println("s\tm\tt\tw\tth\tf\tsa");c.set(Calendar.DAY_OF_MONTH,1);for(int i =0;i<c.get(Calendar.DAY_OF_WEEK)-1;i++){System.out.print("\t"); // 将第一天的日期和周对齐}for(int i = 1;i<=maxday;i++){if (day == c.get(Calendar.DAY_OF_MONTH)){System.out.print(c.get(Calendar.DAY_OF_MONTH)+"*\t");}else{ System.out.print(c.get(Calendar.DAY_OF_MONTH)+"\t");}if(c.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY){System.out.println(); // 换行}c.add(Calendar.DAY_OF_MONTH,1);}}
}

jav常用类-时间处理相关类相关推荐

  1. calendar当前时间整点_时间处理相关类

    时间处理相关类 在计算机世界,我们把1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一). 时间相关类有如下 Date时间类(java.util.Date) ...

  2. Java的知识点22——时间处理相关类、Date时间类(java.util.Date)、DateFormat类和SimpleDateFormat类、Calendar日历类

    时间处理相关类 用long类型的变量来表示时间,获得现在时刻的"时刻数值":long now = System.currentTimeMillis(); Date时间类(java. ...

  3. java学习--基础知识进阶第五天--API、 Object类 System类、日期相关类、包装类正则表达式...

    今日内容介绍 u  Object类 & System类 u  日期相关类 u  包装类&正则表达式 第1章 Object类 & System类 1.1 Object类 1.1. ...

  4. Java----- 常用类 系统相关类 、 字符串相关类

    常用类 系统相关类 . 字符串相关类 常用类 系统相关类 System类 代表当前ava程序的运行平台.. System. currentTimeMillis()获得系统当前时间的函数. 开始: Sy ...

  5. 时间日期类JAVA包含地区属性_Java常用类 | 时间和日期类

    开发中经常涉及到时间与日期,记录下Java中与时间和日期相关的API JDK8之前与时间日期相关的类 java.lang.System类 System类提供了一个公共的静态方法currentTimes ...

  6. 日期的包装 java,Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类...

    Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下: 1.面向对象是常见的一种思考习惯,符合人们的思考习惯. 2.面向对象的出现,将复杂的事情简单化. 3.面向对象的出现,将之前过 ...

  7. 关于Java中的日期与时间的相关类说明详解

    文章目录 1.关于Java元年与时间戳 2.关于Date类 2.1常用API代码展示 3.关于Calendar类 3.1获取Calendar对象 3.2创建自定义的Calendar对象 3.2Cale ...

  8. Java常用类(数学相关类 /字符串相关类/时间相关类/格式化类)

    Java类库概述 Java类库文档 https://docs.oracle.com/javase/8/docs/api/ 可以下载文档离线版本(chm格式) https://blog.csdn.net ...

  9. Java----常用类:日期相关类、数学运算相关类

    常用类 日期相关类 Date类     日期函数 //2012-12-12 00:00:00- 1970-01-01 00:00:00 = 毫秒差: Date date = new pate();   ...

最新文章

  1. mmap映射大于4g的文件_尴尬,win10镜像文件install.wim大于4G,如何将它装进U盘
  2. LeetCode Algorithm 1290. 二进制链表转整数
  3. traceroute命令的用法实例
  4. HTML和css学术报告,清华大学 张超 副教授访问我院并做学术报告
  5. mysql窗口函数_MySQL8.0窗口函数入门实践及总结
  6. 美团买菜:采购量提升至平时3-4倍 提供无接触配送服务
  7. 实时分析你的Windows Phone 7使用状况
  8. Java 简单TCP文件传输
  9. 【缺陷检测】基于区域生长算法实现对焊接孔隙检测matlab源码
  10. 计算机文档字体替换和加重号,word加重号怎么加
  11. python实现逻辑回归算法
  12. Win10家庭中文版如何添加本地用户
  13. matlab图形黎曼几何,黎曼几何是篡改数学概念的几何
  14. google浏览器无法更新_如何更新谷歌浏览器
  15. 实体门店为什么要做共享股东模式
  16. h5如何做微信公众号支付
  17. XSHELL免费版下载
  18. 读书之后写笔记的软件哪个好
  19. Cannon.js -- 3d物理引擎
  20. 分享5个插件,助你在Python的道路越战越勇

热门文章

  1. 西达摩花魁咖啡豆名字来源
  2. R和RStudio安装包下载
  3. 程序员github头像_给新程序员的5个GitHub技巧
  4. 洛谷P1757 通天之分组背包
  5. java面向对象小知识
  6. C#winform图片、图标操作
  7. mips中的li_MIPS学习笔记(一)
  8. linux下看pcie的设备id,linux lspci查看pci总线设备信息
  9. 推荐一款 GitHub 星标 11.5K 的神器,可将任何设备转换为电脑辅助屏幕
  10. R语言中predict函数之logistic建模