Java日期

Java日期

导入包:
import java.util.Date;

1.获取当前日期

import java.util.Date;
public class Test{
      public static void main(String args[])
      {
            //初始化 Date 对象
            Date a=new Date();

            //使用 toString() 函数显示日期时间
            System.out.println(a.toString());
      }
}

2.使用SimpleDateFormat格式化日期

package ab;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test {
    public static void main(String args[])
    {
        SimpleDateFormat a=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");      //------------------(1)
        Date b=new Date();
        System.out.print("当前日期格式化:" + a.format(b));          //----------------------(2)
    }
}

运行结果为:
当前日期格式化:2020-11-14 16:55:55

  • 题中(1):yyyy表示四位年份,MM表示月份,dd表示日期,hh、mm、ss是时、分、秒

  • 可以只写一个,如:"y—M-d hⓂ️s",如下面格式也可以输出相同值

  • 题中(2):注意调用格式,a.format(b)

其他格式化

package ab;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test { public static void main(String args[])
    {
        Date n=new Date();

        SimpleDateFormat x0=new SimpleDateFormat("y-M-d H:m:s");//可以只写一个
        System.out.print("当前日期格式化:" + x0.format(n));
        //输出样式为:   当前日期格式化:2020-11-14 17:8:15

        SimpleDateFormat x1=new SimpleDateFormat("E");//E描述星期几
        System.out.print("当前日期格式化:" + x1.format(n));
        //输出样式为:   当前日期格式化:星期六

        SimpleDateFormat x2=new SimpleDateFormat("H:m:s:S");//S描述毫秒
        System.out.print("当前日期格式化:"+x2.format(n));
        //输出样式为:    当前日期格式化:17:9:55:300

        SimpleDateFormat x3=new SimpleDateFormat("D");//D描述一年中的第几天
        System.out.print("当前日期格式化:"+x3.format(n));
        //输出样式为:    当前日期格式化:319

        SimpleDateFormat x4=new SimpleDateFormat("F");//F描述为一个月的第几周
        System.out.print("当前格式化为:"+x4.format(n));
        //输出样式为:    当前日期格式化:2

        SimpleDateFormat x5=new SimpleDateFormat("w");//小写的w描述一年中的第几周
        System.out.print("当前格式化为:"+x5.format(n));
        //输出样式为:    当前格式化为:46

        SimpleDateFormat x6=new SimpleDateFormat("a");//a描述AM/PM标记
        System.out.print("当前格式化为:"+x6.format(n));
        //输出样式为:    当前格式化为:下午

        SimpleDateFormat x7=new SimpleDateFormat("k");//小写的k描述现在是第几个小时(0~23)
        System.out.print("当前格式化为:"+x7.format(n));
        //输出样式为:    当前格式化为:17

        SimpleDateFormat x8=new SimpleDateFormat("K");//大写的K描述现在是上午或者下午的第几个小时(0~11)
        System.out.print("当前格式化为:"+x8.format(n));
        //输出样式为:    当前格式化为:5

        SimpleDateFormat x9=new SimpleDateFormat("z");//z描述时区
        System.out.print("当前格式化为:"+x9.format(n));
        //输出样式为:    当前格式化为:CST

    }
}



Java System.out.printf格式化输出日期

使用printf格式化日期

package ab;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test { public static void main(String args[])
    {
        Date n=new Date();
        //使用printf格式化日期

        System.out.printf("当前格式化为:%tc%n",n);//c
        //输出样式为:    当前格式化为:星期六 十一月 14 17:40:13 CST 2020

        System.out.printf("当前格式化为:%tF%n",n);//F
        //输出样式为:    当前格式化为:2020-11-14

        System.out.printf("当前格式化为:%tD%n",n);//D
        //输出样式为:    当前格式化为:11/14/20

        System.out.printf("当前格式化为:%tR%n",n);//R
        //输出样式为:    当前格式化为:17:44

        System.out.printf("当前格式化为:%tT%n",n);//T
        //输出样式为:    当前格式化为:17:44:07

        System.out.printf("当前格式化为:%tr%n",n);//r
        //输出样式为:    当前格式化为:05:44:07 下午
    }
}



利用一个格式化字符串指出要被格式化参数的索引

package ab;
import java.text.SimpleDateFormat;
import java.util.Date;
public class Test { public static void main(String args[])
    {
        Date n=new Date();

        System.out.printf("%1$s %2$tB %2$td, %2$tY","当前日期为:",n);
        //第二个printf里有三个参数,分别是0:我们指定的格式内容、1:“Due date”、2:today。
        //索引是这三个参数对应不同序号的内容,而必须在%和$之间。
        //例如:%1$s ,  %到$中间的1,表示第一个参数:“当前日期为”,%s是字符串
        // %2$tB %2$td,  %到$中间的2,表示第二个参数:n ,
        // $后面是我们指定的格式,由t和格式字符组成。如B描述月
  
    }
}



  • 或者可以使用<标志,它表明先去被格式化的参数要被再次使用
import java.util.Date;
  
public class DateDemo {
 
   public static void main(String args[]) {
       // 初始化 Date 对象
       Date date = new Date();
        
       // 显示格式化时间
       System.out.printf("%s %tB %<te, %<tY", 
                         "Due date:", date);
   }
}

日期转换符如图

import java.util.*;
  
public class DateDemo {
   public static void main(String args[]) {
       Date date=new Date();                                      
        //b的使用,月份简称  
        String str=String.format(Locale.US,"英文月份简称:%tb",date);       
        System.out.println(str);                                                                              
        System.out.printf("本地月份简称:%tb%n",date);  
        //B的使用,月份全称  
        str=String.format(Locale.US,"英文月份全称:%tB",date);  
        System.out.println(str);  
        System.out.printf("本地月份全称:%tB%n",date);  
        //a的使用,星期简称  
        str=String.format(Locale.US,"英文星期的简称:%ta",date);  
        System.out.println(str);  
        //A的使用,星期全称  
        System.out.printf("本地星期的简称:%tA%n",date);  
        //C的使用,年前两位  
        System.out.printf("年的前两位数字(不足两位前面补0):%tC%n",date);  
        //y的使用,年后两位  
        System.out.printf("年的后两位数字(不足两位前面补0):%ty%n",date);  
        //j的使用,一年的天数  
        System.out.printf("一年中的天数(即年的第几天):%tj%n",date);  
        //m的使用,月份  
        System.out.printf("两位数字的月份(不足两位前面补0):%tm%n",date);  
        //d的使用,日(二位,不够补零)  
        System.out.printf("两位数字的日(不足两位前面补0):%td%n",date);  
        //e的使用,日(一位不补零)  
        System.out.printf("月份的日(前面不补0):%te",date);
    }
}

System.currentTimeMillis()获得当前的时间

Calendar类

posted @ 2020-11-14 18:32  deqi525  阅读(119)  评论(0编辑  收藏  举报