Java中对日期的处理

本文介绍了在Java中如何获取系统当前时间,以及如何进行日期的String与Date之间的转换,包括使用SimpleDateFormat进行格式化。还讨论了如何计算时间差和使用System类获取特定时间点的表示。
摘要由CSDN通过智能技术生成

Java中对日期的处理

  这个案例主要掌握:

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

     2.String-->Date

     3.Date-->String

Import java.text.SimpleDateFormat;

Import java.util.Date;

 public class DateTest01{

   public static void main(String[] args) throws Exception{

      //获取系统当前时间(精确到毫秒的系统当前时间)

     //直接调用无参数构造方法就行

    Date nowTime = new Date();

   //java.util.Date类的toString()方法已经被重写了

  //输出的应该不是一个对象的内存地址,应该是一个日期字符串

  //System.out.println(nowTime);

 //日期可以格式化吗?

 //将日期类型Date,按照指定的格式进行转换:Date  转换成具有一个格式的日期字符串  String

//SimpleDateFormat是java.text包下的。专门负责日期格式化的

/*

 yyyy  年  (年是4位)

MM 月   (月是2位)

 dd    日      

 HH 时

 mm 分

 ss    秒

 sss 毫秒(毫秒是3位,最高999,1000毫秒等于1秒)

 注意:在日期格式中,除了 y M d H  m s S这些字符不能随便写之外,剩下的符号格式自已随意组织

*/

 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");

 //SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss SSS");

 //SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm:ss SSS");

 String nowTimeStr = sdf.format(nowTime);

 System.out.println(nowTimeStr);

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

//String-->Date

  String time = "2018-08-08 08:08:08 888";

  //SimpleDateFormat sdf2 = new SimpleDateFormat("格式不能随便写,要和日期字符串格式相同”);

//注意:字符串的日期格式和SimpleDateFormat对象指定的日期格式要一致,不然会出现异常:java.text.ParseException

    SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");

    Date dateTime = sdf2.parese(time);

    System.out.println(dateTime);

 }

}

1秒=1000毫秒

 public class DateTest02{

    public static void mian(String[] args){

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

       long nowTimeMillis = System.currentTimeMillis();

       System.out.println(nowTimeMillis);

 

       //统计一个方法耗时

      //在调用目标方法之前记录一个毫秒数

      long begin = System.currentTimeMillis();

      print();

      //在执行完目标方法之后记录一个毫秒数

      long end =  System.currentTimeMillis();

      System.out..println("耗费时长"+(end-begin)+"毫秒");

     }

    //需求:统一一个方法执行所耗费的时长

    public static void print(){

       for(int i=0;i<1000;i++){

          System.out.println("i="+i);

       }

    }

 }

简单总结一下System类的相关属相和方法

  System.out  【out是System类的静态变量】

  System.out.println() 【println()方法不是System类的,是PrintStream类的方法】

  System.gc() 建议启动垃圾回收器

  System.currentTimeMillis() 获取自1970年1月1日到系统当前时间的总毫秒数

  System.exit(0)  退出JVM

 import java.text.SimpleDateFormat;

  import java.util.Date;

   public class DateTest03{

      public static void main(String[] args){

        //这个时间是什么时间?

       //1970-01-01 00:00:00 001

       Date time = new Date(1);  //注意:参数是一个毫秒

       SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");

       String strTime = sdf.format(time);

       System.out.println(strTime);

     

      //获取昨天此时的时间

    Date time2 = new Date(System.currentTimeMills()-1000*60*60*24);

    String strTime2 = sdf.format(time2);

    System.out.println(strTime2);

      }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值