java常用类(2)

Wesley13
• 阅读 556

三、时间处理相关类

Date类:计算机世界把1970年1月1号定为基准时间,每个度量单位是毫秒(1秒的千分之一),用long类型的变量表示时间。

Date分配Date对象并初始化对象,以表示自从标准基准时间(称为“历元”(epoch),即1970年1月1日08:00:00GMT)以来的指定毫秒数。

示例:

package cn.tanjianjie.test;import java.util.Date;/** * 测试Date类的常见用法 */public class TestDate {    public static void main(String[] args){        //获得当前电脑时刻        Date d=new Date();        System.out.println(d);        //获得毫秒数        Date d1=new Date(2000);        System.out.println(d1);        System.out.println(d.getTime());//返回自1970年1月1日08:00:00GMT以来此Date对象表示的毫秒数        Date d2=new Date();        System.out.println(d2.getTime());        System.out.println(d2.after(d));//d2>d=true;d2<d=false        Date d3=new Date(2020-1900,3,10);//表示2020年4月10日        System.out.println(d3);    }}运行结果:

java常用类(2)

DateFormat类的作用:把时间对象转化成指定格式的字符串。反之,把指定格式的字符串转化成时间对象。DateFormat是一个抽象类,一般使用它的子类SimpDateFormat类来实现。示例:

package cn.tanjianjie.test;import java.text.ParseException;import java.util.Date;import java.text.SimpleDateFormat;public class DateFormat {    public static void main(String[] args) throws ParseException {        //把时间对象按照“格式字符串指定的格式”转换成相应的字符串        SimpleDateFormat df= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");        String str=df.format(new Date(4000000));        System.out.println(str);        //把字符串对象按照“格式字符串指定的格式”转换成相应的时间对象        SimpleDateFormat df2= new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");        Date date=df2.parse("2019-01-26 10:30:34");        System.out.println(date);

//输出今天是这个月中第几天        SimpleDateFormat df3= new SimpleDateFormat("D");        String str3=df3.format(new Date());        System.out.println(str3);

}}运行结果:

java常用类(2)

Calender日历类:

Calender类是一个抽象类,为我们提供了关于日期计算的相关功能,比如:年、月、日、时、分、秒的展示与计算。

GregorianCalender是Canlender的一个子类,提供了世界上大多数国家、地区使用的标准日历系统。

注意:月份的表示,一月为0,二月为1,以此类推十二月为11。

示例:

package cn.tanjianjie.test;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;public class TestCalendar {    public static void main(String[] args) {        //获得日期相关元素        Calendar calendar = new GregorianCalendar(2019, 1, 26, 10, 30, 34);        int year = calendar.get(calendar.YEAR);        int month = calendar.get(calendar.MONTH);        int day = calendar.get(calendar.DATE);//也可以使用DAY_OF_MONTH.        int weekday = calendar.get(calendar.DAY_OF_WEEK);//星期几。1-7.1表示星期天,2表示星期一,以此类推7表示星期六        System.out.println(year);        System.out.println(month);        System.out.println(day);        System.out.println(weekday);        //设置日期相关元素        Calendar c2 = new GregorianCalendar();        c2.set(Calendar.YEAR, 2019);        System.out.println(c2);        //日期的计算        Calendar c3 = new GregorianCalendar();        c3.add(Calendar.DAY_OF_WEEK, -2);//星期中往前两天        System.out.println(c3);        //日期对象和时间对象的转化        Date d4 = c3.getTime();        Calendar c4 = new GregorianCalendar();        c4.setTime(new Date());//时间对象转化成日期对象        printCalendar(c4);    }    public static void printCalendar(Calendar c){        //打印:2019年01月26日 11:23:29 周六        int year=c.get(Calendar.YEAR);        int month=c.get(Calendar.MONTH);        int date=c.get(Calendar.DAY_OF_MONTH);        int dateweek=c.get(Calendar.DAY_OF_WEEK);        String dayweek2=dateweek==0?"日":dateweek+"";        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+"秒"+"  周"+dayweek2);    }}运行结果:

java常用类(2)

可视化日历程序练习:

package cn.tanjianjie.test;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import java.util.Scanner;/** * 可视化日历程序 * @author Gsan */public class TestCalendar2 {     public static void main(String[] args) throws ParseException {         System.out.println("格式为:2019-2-6");         Scanner scanner=new Scanner(System.in);         String str=scanner.nextLine();         SimpleDateFormat df=new SimpleDateFormat("yyy-MM-dd");             Date date=df.parse(str);//把字符串对象转换成时间对象             Calendar c=new GregorianCalendar();//获得日期元素             c.setTime(date);             System.out.println("日\t一\t二\t三\t四\t五\t六");             int day=c.get(Calendar.DAY_OF_MONTH);//获得日期             int days=c.getActualMaximum(Calendar.DATE);//取到最大一天,防止后面接下一月的最大天数             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<=days;i++){//获得一个月的时间29就是29,28就是28,30就是30,31就是31                 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);//每打印一次就加一             }     }}

运行结果:

java常用类(2)

点赞
收藏
评论区
推荐文章
浅梦一笑 浅梦一笑
5个月前
初学 Python 需要安装哪些软件?超级实用,小白必看!
编程这个东西是真的奇妙。对于懂得的人来说,会觉得这个工具是多么的好用、有趣,而对于小白来说,就如同大山一样。其实这个都可以理解,大家都是这样过来的。那么接下来就说一下python相关的东西吧,并说一下我对编程的理解。本人也是小白一名,如有不对的地方,还请各位大神指出01名词解释:如果在编程方面接触的比较少,那么对于软件这一块,有几个名词一定要了解,比如开发环
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
技术小男生 技术小男生
5个月前
linux环境jdk环境变量配置
1:编辑系统配置文件vi/etc/profile2:按字母键i进入编辑模式,在最底部添加内容:JAVAHOME/opt/jdk1.8.0152CLASSPATH.:$JAVAHOME/lib/dt.jar:$JAVAHOME/lib/tools.jarPATH$JAVAHOME/bin:$PATH3:生效配置
光头强的博客 光头强的博客
5个月前
Java面向对象试题
1、请创建一个Animal动物类,要求有方法eat()方法,方法输出一条语句“吃东西”。创建一个接口A,接口里有一个抽象方法fly()。创建一个Bird类继承Animal类并实现接口A里的方法输出一条有语句“鸟儿飞翔”,重写eat()方法输出一条语句“鸟儿吃虫”。在Test类中向上转型创建b对象,调用eat方法。然后向下转型调用eat()方
刚刚好 刚刚好
5个月前
css问题
1、在IOS中图片不显示(给图片加了圆角或者img没有父级)<div<imgsrc""/</divdiv{width:20px;height:20px;borderradius:20px;overflow:h
Karen110 Karen110
1年前
一篇文章带你了解JavaScript日期
日期对象允许您使用日期(年、月、日、小时、分钟、秒和毫秒)。一、JavaScript的日期格式一个JavaScript日期可以写为一个字符串:ThuFeb02201909:59:51GMT0800(中国标准时间)或者是一个数字:1486000791164写数字的日期,指定的毫秒数自1970年1月1日00:00:00到现在。1\.显示日期使用
Wesley13 Wesley13
1年前
Java获得今日零时零分零秒的时间(Date型)
publicDatezeroTime()throwsParseException{    DatetimenewDate();    SimpleDateFormatsimpnewSimpleDateFormat("yyyyMMdd00:00:00");    SimpleDateFormatsimp2newS
Wesley13 Wesley13
1年前
Java爬虫之JSoup使用教程
title:Java爬虫之JSoup使用教程date:201812248:00:000800update:201812248:00:000800author:mecover:https://imgblog.csdnimg.cn/20181224144920712(https://www.oschin
Wesley13 Wesley13
1年前
java中比较两个时间的差值
项目背景1.某篇文稿的发布时间是publishDate,例如:2020072118:00:41。2.现要求判断该篇文稿的发布时间是否在近30天之内。publicstaticlongdayDiff(DatecurrentDate,DatepublishDate){LongcurrentTimecurrentDat
Wesley13 Wesley13
1年前
PHP中的NOW()函数
是否有一个PHP函数以与MySQL函数NOW()相同的格式返回日期和时间?我知道如何使用date()做到这一点,但是我问是否有一个仅用于此的函数。例如,返回:2009120100:00:001楼使用此功能:functiongetDatetimeNow(){