Date类(重点)

开发时,会时常遇见时间显示的情况,所以必须熟练Date的应用

<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.util.*;public class Main
{public static void main(String[] args){long l = System.currentTimeMillis();//1414079892981System.out.println(l);Date  date = new Date();//当前时间System.out.println(date);Date date2 = new Date(1414079892981l);//将毫秒值封装成对象System.out.println(date2);}
}</strong></span>

日期对象和毫秒值之间的转换问题。

毫秒值->日期对象 :1.new Date(TimeMillis);2.setTime()

故:能够通过Date对象的方法对某年、月、日进行操作

日期对象->毫秒值 :getTime();

故:能够通过详细的数值进行运算,两个日期对象无法减,变成毫秒就能够减,得到相隔几天


Boolean after(Date when)  測试此日期是否在指定日期之后。

Boolean before(Date when) 測试此日期是否在指定日期之前。

Object clone() 返回此对象的副本。

int compareTo(Date anotherDate) 比較两个日期的顺序。

Boolean equals(Object obj) 比較两个日期的相等性。


把日期对象转成字符串。

<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main
{public static void main(String[] args){MethodDemo();}public static void MethodDemo(){//对日期对象格式化 转换成日期格式的字符串Date date = new Date();//获取日期对象,具备默认的风格DateFormat dateFormat = DateFormat.getDateInstance();//获取日期工厂String str_Date = dateFormat.format(date);System.out.println(str_Date);//2014-10-24DateFormat dateFormat2 = DateFormat.getDateTimeInstance();//获取日期加时间工厂String str_Date2 = dateFormat2.format(date);System.out.println(str_Date2);//2014-10-24 0:30:22//指定格式 FULL:2014年10月24日 星期五   LONG:2014年10月24日  SHORT:14-10-24DateFormat dateFormat3 = DateFormat.getDateInstance(dateFormat.FULL);//获取日期工厂String str_Date3 = dateFormat3.format(date);System.out.println(str_Date3);//2014年10月24日 星期五 上午12时39分27秒DateFormat dateFormat4 = DateFormat.getDateTimeInstance(dateFormat.FULL,dateFormat.LONG);String str_Date4 = dateFormat4.format(date);System.out.println(str_Date4);//自己定义风格 使用的是DateFormat类中的format方法。当中SimpleDateFormat是DateFormat的子类DateFormat dateFormat5 = new SimpleDateFormat("yyyy#MM#dd");String str_Date5 = dateFormat5.format(date);System.out.println(str_Date5);}
}</strong></span>


字符串转日期对象

<span style="font-family:KaiTi_GB2312;font-size:18px;"><strong>import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main
{public static void main(String[] args)throws ParseException{MethodDemo();}//字符串转Date对象 使用的是parse方法public static void MethodDemo() throws ParseException{//默认风格String str_date = "2014-10-24";DateFormat dateFormat = DateFormat.getDateInstance();Date date = dateFormat.parse(str_date);//抛异常System.out.println(date);//自己定义风格String str_date2 = "2014年10月24日";DateFormat dateFormat2 = DateFormat.getDateInstance(DateFormat.LONG);Date date2 = dateFormat2.parse(str_date2);//抛异常System.out.println(date2);String str_date3 = "2014年--10月--24日";DateFormat dateFormat3 = DateFormat.getDateInstance(DateFormat.LONG);dateFormat3 = new SimpleDateFormat("yyyy年--MM月--dd日");Date date3 = dateFormat3.parse(str_date3);//抛异常System.out.println(date3);}
}</strong></span>


Date类练习

2014-10-24 到 2012-12-25日有多少天

1.将字符串转成Date对象

2.将Date对象转成毫秒

3.相减得天数

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Main
{public static void main(String[] args)throws ParseException{MethodDemo();}public static void MethodDemo() throws ParseException{String str1 = "2014-10-24";String str2 = "2012-12-25";Date date1 = new Date();Date date2 = new Date();DateFormat dateFormat1 = DateFormat.getDateInstance();dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");date1 = dateFormat1.parse(str1);date2 = dateFormat1.parse(str2);long time1 = date1.getTime();long time2 = date2.getTime();long time = Math.abs(time1 - time2);int day = Getday(time);System.out.println(day+"天");}public static int Getday(long time){return (int)(time/1000/60/60/24);}
}

Calendar类

public class Main
{public static void main(String[] args){MethodDemo();}public static void MethodDemo() {Calendar ca = Calendar.getInstance();int year = ca.get(Calendar.YEAR);int mon = ca.get(Calendar.MONTH)+1;//注意要+1,0代表一月int day = ca.get(Calendar.DAY_OF_MONTH);int week = ca.get(Calendar.DAY_OF_WEEK);//注意国外和我们不一样//2014-10-24-星期五System.out.println(year+"-"+mon+"-"+day+"-"+GetWeek(week));}private static String GetWeek(int i) {// TODO Auto-generated method stubString[] week = {"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};return week[i];}
}

练习:

import java.util.Calendar;public class Main
{public static void main(String[] args){int year = 2014;showyear(year);//推断某一年的二月有几天//showday();}private static void showyear(int year) {Calendar ca = Calendar.getInstance();ca.set(year,2,1);//设置某年3月1日时间ca.add(Calendar.DAY_OF_MONTH, -1);//3月的前一天MethodDemo(ca);}private static void showday() {Calendar ca = Calendar.getInstance();ca.set(2015,10,25);//设置2015.11.25时间ca.add(Calendar.DAY_OF_MONTH, -1);//时间偏移-》2013MethodDemo(ca);//2015-10-24-星期二ca.add(Calendar.DAY_OF_MONTH, 10);//超过会自己主动进一个月MethodDemo(ca);}public static void MethodDemo(Calendar ca) {int year = ca.get(Calendar.YEAR);int mon = ca.get(Calendar.MONTH)+1;int day = ca.get(Calendar.DAY_OF_MONTH);int week = ca.get(Calendar.DAY_OF_WEEK);int hour = ca.get(Calendar.HOUR);int minute = ca.get(Calendar.MINUTE);int second = ca.get(Calendar.SECOND);System.out.print(year+"-"+mon+"-"+day+"-"+GetWeek(week)+"-"+hour+":");if(minute>9){System.out.println(minute+":"+second);}else {System.out.println("0"+minute+":"+second);}}private static String GetWeek(int i) {String[] week = {"","星期天","星期一","星期二","星期三","星期四","星期五","星期六"};return week[i];}
}




JAVA学习第四十六课 — 其它对象API(二)Date类 amp; Calendar类(重点掌握)相关推荐

  1. NeHe OpenGL第四十六课:全屏反走样

    NeHe OpenGL第四十六课:全屏反走样 全屏反走样 当今显卡的强大功能,你几乎什么都不用做,只需要在创建窗口的时候该一个数据.看看吧,驱动程序为你做完了一切.   在图形的绘制中,直线的走样是非 ...

  2. JavaScript学习(四十六)—练习题

    JavaScript学习(四十六)-练习题 练习1 练习2

  3. 风炫安全Web安全学习第四十节课 反序列化漏洞攻击利用演示

    风炫安全Web安全学习第四十节课 反序列化漏洞攻击利用演示 0x02 反序列化漏洞利用 反序列化漏洞的成因在于代码中的 unserialize() 接收的参数可控,从上面的例子看,这个函数的参数是一个 ...

  4. 风炫安全Web安全学习第四十三节课 路径遍历漏洞

    风炫安全Web安全学习第四十三节课 路径遍历漏洞 路径遍历 0x01 漏洞概述 路径遍历攻击(也称作目录遍历)的目标是访问web根目录外存储的文件和目录.通过操纵使用"点-斜线(-/)&qu ...

  5. JavaScript学习(四十八)—原型对象的增删改查

    JavaScript学习(四十八)-原型对象的增删改查 一.构造方法与原型对象的图解 二.型对象的增删改查 (一).什么是原型 每个函数都会有一个属性--prototype属性,这个属性都会有一个对象 ...

  6. java中的多态与继承_【Java学习笔记之十六】浅谈Java中的继承与多态

    1.  什么是继承,继承的特点? 子类继承父类的特征和行为,使得子类具有父类的各种属性和方法.或子类从父类继承方法,使得子类具有父类相同的行为. 特点:在继承关系中,父类更通用.子类更具体.父类具有更 ...

  7. javaweb学习总结(四十六)——Filter(过滤器)常见应用

    2019独角兽企业重金招聘Python工程师标准>>> 一.统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题 1 pack ...

  8. Java学习笔记(十六)—— 开发个小项目(GoBang4.0)

    接十二,今天重点搞定简单基础版本的AI下棋. 画个大纲(跟随慢慢开发过程不断完善) 1.用户 两个用户对战  一黑一白 用户可以是人,也可以是AI.对战模式支持人人,人机,机机. 属性 本次比赛执棋颜 ...

  9. JAVA学习笔记(四十九)- Swing相关组件

    JFrame组件 import java.awt.Color;import javax.swing.JFrame; import javax.swing.JPanel;/** Swing是在AWT基础 ...

最新文章

  1. 通过单步调试的方式学习 Angular 中带有选择器的内容投影使用方式
  2. asp.net core监控—引入Prometheus(五)
  3. 串口服务器的通讯模式
  4. java蓝桥杯 试题-基础练习-数列排序
  5. 案例:使用正则表达式的爬虫
  6. UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xbd in position 198: illegal multibyte sequence
  7. windows和linux下读取文件乱码的终极解决办法!
  8. python求解LeetCode习题Intersection of Two Linked Lists
  9. 微型计算机控制技术第二版答案第四章,微型计算机控制技术答案第四章2.pdf
  10. 写给Python社群的第1课:初识Python,开篇知识点就选字符串吧~
  11. 声网 X 牛客网 200万场视频面试背后的实时互动技术支撑
  12. 05.Linux 常用命令-网络命令\关机重启命令
  13. CAN通信稳定性开发分析
  14. 掌上题库V1.2.2全开源版本
  15. 任总讲话,说明华为对5G有清醒的认识
  16. switch() 参数支持类型
  17. INS-20802 Windows安装Oracle19c报错解决方案
  18. 【数字信号处理】傅里叶变换
  19. XILINX K7 DDR3引脚验证总结
  20. 2020-12-03_EditPlus下载安装注册

热门文章

  1. 盘点2021年10大增强现实(AR)趋势
  2. 计算机中f代表几,相机中的F代表什么意思
  3. 微信中接收的表格文件可以进行打印吗
  4. modle bulinder 实践1.Excel坐标转面
  5. 人工智能数学基础(高等数学基础)
  6. 直播--如何搭建rtmp推流服务器
  7. EXCEL 计算两列的交集和差集
  8. 自动灌溉c语言,基于51单片机设计实现的自动浇花系统的电路方案设计(原理图+源代码)...
  9. 对DWR的理解(什么是DWR)
  10. Java怎么监听鼠标滑轮的转向_javascript监听鼠标滚轮事件浅析