• Java中的日期


    Date类(java.util.Date)

    时间原点:1970年1月1日 8点0分0秒。

    创建日期对象:

    package blog;
    
    import java.util.Date;
    
    public class Datetest01 {
        public static void main(String[] args) {
            Date nowDate = new Date();
            System.out.println("当前时间是:"+nowDate);
            Date date1 = new Date(10000);
            Date date2 = new Date(-10000);
            System.out.println("以5000定义的时间为:"+date1);
            System.out.println("以5000定义的时间为:"+date2);
        }
    }

    从上面的例子我们可以发现:当直接new Date()时得到的其实是现在的时间。然后当以参数为10000或者-10000时,它是以原点为基准点以毫秒为单位取计算然后得到时间。

    下面是Date源码,我们其实也可以从注释说明中发现他们两者的用法的不同之处。

    /**
         * Allocates a <code>Date</code> object and initializes it so that
         * it represents the time at which it was allocated, measured to the
         * nearest millisecond.
         *
         * @see     java.lang.System#currentTimeMillis()
         */
        public Date() {
            this(System.currentTimeMillis());
        }
    
        /**
         * Allocates a <code>Date</code> object and initializes it to
         * represent the specified number of milliseconds since the
         * standard base time known as "the epoch", namely January 1,
         * 1970, 00:00:00 GMT.
         *
         * @param   date   the milliseconds since January 1, 1970, 00:00:00 GMT.
         * @see     java.lang.System#currentTimeMillis()
         */
        public Date(long date) {
            fastTime = date;
        }

    getTime()

    在上面的测试代码最后加入两行:

    System.out.println("使用getTime():"+nowDate.getTime());
    System.out.println("使用getTime():"+date1.getTime());

    我们发现:getTime()获取的是日期距日期原点的毫秒数

    日期格式转换

    y 代表年
    M 代表月
    d 代表日
    H 代表24进制的小时
    h 代表12进制的小时
    m 代表分钟
    s 代表秒
    S 代表毫秒

    日期转字符串:

    package blog;
    
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class DateTest02 {
        public static void main(String[] args) {
            SimpleDateFormat formate1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            SimpleDateFormat formate2 = new SimpleDateFormat("yyyy/MM/dd HH/mm/ss SSS");
            SimpleDateFormat formate3 = new SimpleDateFormat("HH:mm:ss yyyy-MM-dd");
            Date date = new Date();
            String s1 = formate1.format(date);
            String s2 = formate2.format(date);
            String s3 = formate3.format(date);
            System.out.println("formate1格式下时间为:"+s1);
            System.out.println("formate2格式下时间为:"+s2);
            System.out.println("formate3格式下时间为:"+s3);
        }
    }

    字符串转日期

    package blog;
    
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Datetest03 {
        public static void main(String[] args) {
            SimpleDateFormat formate1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            SimpleDateFormat formate2 = new SimpleDateFormat("yyyy/MM/dd HH/mm/ss SSS");
            SimpleDateFormat formate3 = new SimpleDateFormat("HH:mm:ss yyyy-MM-dd");
            String str1 = "2019-4-20 20:49:00";
            String str2 = "2019/4/20 20/49/00 520";
            String str3 = "20:49:00 2019-4-20";
            try {
                Date date1 = formate1.parse(str1);
                Date date2 = formate2.parse(str2);
                Date date3 = formate3.parse(str3);
                System.out.println("时间格式1为:"+date1);
                System.out.println("时间格式2为:"+date2);
                System.out.println("时间格式3为:"+date3);
            } catch (ParseException e) {
                e.printStackTrace();
            }
            
        }
    }

    ---恢复内容结束---

    ---恢复内容结束---

  • 相关阅读:
    target runtime apache v6.0 not defined解决
    java.lang.AbstractMethodError: javax.servlet.jsp.JspFactory.getJspApplicationContext(Ljavax/servlet/ServletContext;)Ljavax/servlet/jsp/JspApplicationContext;
    The valid characters are defined in RFC 7230 and RFC 3986问题
    invalid END header解决方法
    You have more than one version of ‘org.apache.commons.logging.Log’ visible, which is not allowed问题解决
    Invalid character found in the request target. The valid characters are defined in RFC 7230 and RFC 3986
    在eclipse中import java web项目时遇到的一些问题并将该项目通过tomcat发布
    java byte转string 涉及到字节流中有中文
    spring+mybatis框架搭建时遇到Mapped Statements collection does not contain value for...的错误
    试试看读一下Zepto源码
  • 原文地址:https://www.cnblogs.com/dong973711/p/10742709.html
Copyright © 2020-2023  润新知