zoukankan      html  css  js  c++  java
  • Date

    java中对日期的处理
        这个案例最主要掌握:
            知识点1:怎么获取系统当前时间
            知识点2:String --> Date
            知识点3:Date --> String:
    package com.javaSe.date;
    
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    
    /*
    java中对日期的处理
        这个案例最主要掌握:
            知识点1:怎么获取系统当前时间
            知识点2:String --> Date
            知识点3:Date --> String
    */
    public class DateTest01 {
        public static void main(String[] args) throws Exception{
            // 获取系统当前时间
            // 直接调用无参数构造方法就行。
            Date nowTime = new Date();
            
            // java.util.Date类的toString()方法已经被重写了。
            // 输出的应该不是一个对象的内存地址,应该是一个日期字符串。
            // System.out.println(nowTime); // Thu Jul 02 20:59:00 CST 2020
            
            // 日期可以格式化吗?
            // 将日期类型Date,按照指定的格式进行转换:Date -- 转换成具有一定格式的日期字符串 --> String
            // SimpleDateFormat是java.text包下的。专门负责日期格式化的。
            /*
            yyyy 年(年是4位)
            MM 月(月是2位)
            dd 日(日是2位)
            HH 时
            mm 分
            ss 秒
            sss 毫秒(毫秒是3位,最高999,1000毫秒代表1秒)
            注意:在日期格式中,除了 y M d H m s S 这些字符不能随便写之外,剩下的符号格式自己随意组织。
             */
            
            SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
            String date = sf.format(nowTime);
            System.out.println(date);
            
            // 假设现在有一个日期字符串String,怎么转换成Date类型?
            String time = "2020-07-02 21:19:50 265";
            // SimpleDateFormat sdf = new SimpleDateFormat("格式不能随便写,要和字符串格式相同");
            // 注意:字符串的日期格式和SimpleDateFormat对象指定的日期格式要一致。不然会出现异常:java.text.ParseException
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
            Date dateTime = sdf.parse(time);
            System.out.println(dateTime);// Thu Jul 02 21:19:50 CST 2020
            
        }
    }

    获取1970年1月1日到现在时间的毫秒数:

    package com.javaSe.date;
    /*
    获取自1970年1月1日 00:00:00 000 到当前系统时间的总毫秒数
    1秒 = 1000毫秒
    
    
    简单总结一下System类的相关属性和方法:
        System.out [out是System类的静态变量]
        System.out.println() [println()方法不是System类的,是PrintStream类中的方法]
        System.gc() 建议启动java垃圾回收器
        System.currentTimeMillis() 获取自1970年1月1日到系统当前时间毫秒数
        System.exit(0) 退出JVM
    */
    public class DateTest02 {
        public static void main(String[] args) {
            long nowTimeMillis = System.currentTimeMillis();
            System.out.println(nowTimeMillis);//1593696591719
            
            // 统计一个方法耗时
            // 在调用目标方法之前记录一个毫秒数
            long begin = System.currentTimeMillis();
            print();
            // 执行完成目标方法之后记录一个毫秒数
            long end = System.currentTimeMillis();
            System.out.println("耗费"+ (end - begin) +"毫秒");
        }
        
        // 需求:统计一个方法执行所耗费时长
        public static void print(){
            for (int i = 0; i < 1000000000; i++) {
                //System.out.println("i =" + i);
            }
        }
    }
     
    如何获取昨天的时间:
    package com.javaSe.date;
    
    
    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 date = new Date(1);// 注意:参数是一个毫秒
        
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
            String time = sdf.format(date);
            // 北京市东8区。差8个小时  我们与格林威治的时间有时差  早8个小时
            System.out.println(time); // 1970-01-01 08:00:00 001
            
            // 获取昨天的此时的时间
            Date date1 = new Date(System.currentTimeMillis() - 1000 * 60 * 60 * 24);
            String time1 = sdf.format(date1);
            System.out.println(time1); // 2020-07-01 22:06:19 208
        }
    }
    如何获取前一个月、1天、1年的时间:
    package com.javaSe.date;
    
    
    
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    
    
    
    public class DateTest04 {
        public static void main(String[] args) {
            SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            Calendar c = Calendar.getInstance();
        
            //过去一年
            c.setTime(new Date());
            c.add(Calendar.YEAR, -1);
            Date y = c.getTime();
            String year = format.format(y);
            System.out.println("过去一年:"+year);
        
        
            //过去一月
            c.setTime(new Date());
            c.add(Calendar.MONTH, -1);
            Date m = c.getTime();
            String mon = format.format(m);
            System.out.println("过去一个月:"+mon);
        
        
            //过去一天
            c.setTime(new Date());
            c.add(Calendar.DATE, - 1);
            Date d = c.getTime();
            String day = format.format(d);
            System.out.println("过去一天:"+day);
        }
    }

    如何根据一个人的出生年月计算他的岁数:

    package com.javaSe.date;
    
    
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    
    
    public class DateTest05 {
        public static void main(String[] args) throws Exception{
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
            Calendar c = Calendar.getInstance();
            
            // simpleDateFormat.parse("1996-01-22")  解析字符串 生成Date类型时间
            Date date = simpleDateFormat.parse("1996-01-22");
            c.setTime(date);
            // 将Date转换成毫秒
            System.out.println(c.getTimeInMillis());
            
            // 用当前毫秒数 - 解析的毫秒数 = 这个人的岁数年
            long age = System.currentTimeMillis() - c.getTimeInMillis();
            
            // 利用公式计算出这个人当前年龄为:
            System.out.println(age / 365 / 24 / 60 / 60 / 1000);
        }
    }
  • 相关阅读:
    ubuntu下按安装lamp
    linux 一些简记
    编写shell脚本步骤
    C++ array vector 数组
    抓取网页扒图片相对路径改绝对路径
    静态html文件js读取url参数
    IE7的web标准之道——1:前言(兼目录) (很牛的CSS书籍)
    感谢放逐自由《博客园精华集》分类索引
    这篇文章证实了索引对于IN,LIKE的优化程度,顺便学会了怎么看看语耗费的时间
    命名空间“System”中不存在类型或命名空间名称“Linq”(是缺少程序集引用吗?)
  • 原文地址:https://www.cnblogs.com/xlwu/p/13227782.html
Copyright © 2011-2022 走看看