zoukankan      html  css  js  c++  java
  • 日期Date和String/Long之间的转换

    下面是关于日期的常见的几种类型转换:

    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Date_String {
        
        @SuppressWarnings("deprecation")
        public static void main(String[] args){
            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
            try {
                Date date = sdf.parse("5689741236589745631");
                System.out.println("date=" + date );//错误消息,原因是parse中的参数字符串不是特定的字符串
            } catch (ParseException e) {
                e.printStackTrace();
            }
            
             /**
              * SimpleDateFormat类中parse()方法用于将输入的特定字符串转换成Date类的对象
              * parse()无参,将特定的字符串转换成Date类
              * 使用无参的parse()时,要解析的String表示一定是按照“年-月-日(一定有一个空格)上午 /下午小时:分钟”
              * 如:2011-11-21 上午23:12      11-10-2 下午01:34
              * 转换成的Date类也是系统的格式,可读性很差
              */
            Date date = null;
            String s = "2012-01-29 上午12:03";
            SimpleDateFormat sdf1 = new SimpleDateFormat();
            try {
                date = sdf1.parse(s);
                System.out.println("------系统默认无参数Date的parse------");
                System.out.println("      " + date);//Sun Jan 29 00:03:00 CST 2012
            } catch (ParseException e) {
                e.printStackTrace();
            }
            
            /**
             * 使用自定义格式SimpleDateFormat(String pattern)利用parse()将字符串转换成Date类
             * Date类也是系统的格式,可读性很差
             */
            Date date1 = null;
            String s1 = "2012-01-29-22-26-23";
            String pattern = "yyyy-MM-dd-HH-mm-ss";
            SimpleDateFormat sdf11 = new SimpleDateFormat(pattern);
            try {
                date1 = sdf11.parse(s1);
                System.out.println("------自定义格式Date的parse------");
                System.out.println("      " + date1);//Sun Jan 29 22:26:23 CST 2012
            } catch (ParseException e) {
                e.printStackTrace();
            }
            
            //创建参数是Long类型的日期
            Date d = new Date(System.currentTimeMillis());
            System.out.println("d=" + d.toLocaleString());//d=2016-9-28 13:49:29
            
            //将Date转换成Long,获取当前时间的毫秒数
            long time = d.getTime();
            System.out.println("time=" + time);//time=1475041769413
            
            int date11 = d.getDate();//1-31
            System.out.println("date1=" + date11);//date1=28
            int day = d.getDay();//0-6,0表示周日6表示周六
            System.out.println("day=" + day);//day=3
            int month = d.getMonth();//0-11,0表示1月,11表示12月
            System.out.println("month=" + month);//month=8
            int year = d.getYear();//距离1900年多少年
            System.out.println("year=" + year);//year=116
            int hour = d.getHours();//当前日期的几点
            System.out.println("hour=" + hour);//hour=13
            int minute = d.getMinutes();//当前日期的几分
            System.out.println("minute=" + minute);//minute=49
            int second = d.getSeconds();//当前日期的几秒
            System.out.println("second=" + second);//second=29
                    
            //将Date转换成String
            String newDate = "";
            newDate = sdf.format(d);
            System.out.println("newDate=" + newDate);//newDate=2016-09-28
        }    
    }
  • 相关阅读:
    进度条2
    VW
    SET和MAP
    解构赋值、
    Symbol
    箭头函数
    正则的补充
    java 面向对象(三十五):泛型在继承上的体现
    java 面向对象(三十六):泛型五 通配符
    java IO流 (一) File类的使用
  • 原文地址:https://www.cnblogs.com/smart-hwt/p/8257542.html
Copyright © 2011-2022 走看看