Java对日期的处理笔记

    科技2022-08-10  98

     

    1.怎么获取系统的当前时间?

    查找API帮助文档,Java-util-Dtae类,有一个构造方法

    构造方法   Constructor and DescriptionDate()

    分配一个 Date对象并将它初始化,它代表的时间分配给它,测量精确到毫秒

    import java.util.Date;//调用lang包以外的类时需要导包,因为lang包是默认的,用到其它包的类时就需要导包 public class Test03{ public static void main(String[] args) { Date nowTime = new Date(); System.out.println(nowTime); } }//输出结果:Mon Oct 05 14:37:00 CST 2020

    以上的输出结果的格式是:星期 月份 几号 时间 CST(国际的时间格式)年份

     

    2.以上是输出的时间格式,那是否可以自定义按照自己想要的时间格式进行输出?

    Java中提供专门进行时间格式修改的类,查看API帮助文档:Java-text-SimpleFormatDate类

    import java.text.SimpleDateFormat; import java.util.Date; public class Test03{ public static void main(String[] args) { Date nowTime = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); /* yyyy 年(年是4位) MM 月(月是两位) dd 日 HH 时 mm 分 ss 秒 SSS 毫秒(毫秒3位,最高999) sdf是一个对象,这个对象中有一个方法,format(); StringBuffer format(Date date, StringBuffer toAppendTo, FieldPosition pos) 给定的 Date进入日期/时间线和附加的结果给出的 StringBuffer格式。 */ System.out.println(sdf.format(nowTime)); } }//输出结果:2020-10-05 15:11:22 622

    3.假设现在有一个日期字符串String,怎么转换成Date类型?

    String->date

    调用parse函数

    import java.text.SimpleDateFormat; import java.util.Date; public class Test03 { public static void main(String[] args) throws Exception { String time="2099-10-10 08:08:08 888"; //注意:以下构造sdf2对象时传入的是和你要转换的时间格式保持一致,即和time字符串的形式保持一致 SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS"); Date dateTime =sdf2.parse(time); System.out.println(dateTime); } }//输出结果:Sat Oct 10 08:08:08 CST 2099

    4.

    获取自1970年1月1日00:00:00 000到当前系统时间的毫秒数。

     

    public class Test03 { public static void main(String[] args) { long nowTimeMillis=System.currentTimeMillis(); System.out.println(nowTimeMillis); } }//结果:1601883225977

    那么这个方法有什么作用呢?

    可以用来查看一个方法耗费的时常。

    调用前记录毫秒数begin

    调用后的记录的毫秒数end

    end-begin=这个方法所运行的时常是多少

    例如:

    public class Test03 { public static void main(String[] args) { long begin=System.currentTimeMillis(); for (int i = 0; i < 500; i++) { System.out.println(i); } long end=System.currentTimeMillis(); System.out.println("这个方法运行的总时长是:"+(end-begin)+"毫秒"); } }//这个方法运行的总时长是:21毫秒

    5.

    通过毫秒数构造Date对象

    给出毫秒数,计算从1970年1月1日已经经历过的时间

    import java.text.SimpleDateFormat; import java.util.Date; public class Test03 { public static void main(String[] args) { Date time = new Date(1000); SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss sss"); String strTime=sdf.format(time); System.out.println(strTime); } }//1970-01-01 08:00:01 001

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    Processed: 0.020, SQL: 8