zoukankan      html  css  js  c++  java
  • 2019-06-19 java学习日记

    SimplleDateFormat类实现日期和字符串的相互转换:

    概述

    DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间。

    是抽象类,所以使用期子类SimpleDateFormat

    SimpleDateFormat构造方法

    public SimpleDateFormat()

    public SimpleDateFormat(String pattern)

    成员方法

    public final String format(Date date)

    public Date parse(String source)

     1 import java.util.Date;
     2 import java.text.DateFormat;
     3 import java.text.ParseException;
     4 import java.text.SimpleDateFormat;
     5 
     6 public class Demo7_SimpleDateFormat {
     7 
     8     public static void main(String[] args) throws ParseException {
     9         //demo1();
    10         //demo2();
    11         //demo3();
    12         
    13         //将时间字符串转换成日期对象
    14         String str="1994年01月13日 08:08:08";
    15         SimpleDateFormat s1=new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
    16         Date d1=s1.parse(str);
    17         System.out.println(d1);
    18     }
    19     
    20 
    21     public static void demo3() {
    22         Date d1=new Date();
    23         SimpleDateFormat s1=new SimpleDateFormat("yyyy/MM/dd/ HH:mm:ss");
    24         System.out.println(s1.format(d1));//将日期对象转换成字符串
    25     }
    26 
    27     public static void demo2() {
    28         Date d1=new Date();//获取当前时间对象
    29         SimpleDateFormat s1=new SimpleDateFormat();
    30             //创建日期格式化类对象
    31         System.out.println(s1.format(d1));
    32     }
    33 
    34     public static void demo1() {
    35         //DateFormat dFormat=new DateFormat();
    36             //dateformat是抽象类,不允许实例化
    37         //DateFormat df1=new SimpleDateFormat();
    38         DateFormat df1=DateFormat.getDateInstance();
    39         //相当于父类引用指向子类对象,右边的方法返回一个子类对象
    40     }
    41 
    42 }      

    案例:你来到这个世界多少天

    分析:

    1、将生日字符串和今天字符串存在String类型的变量中
    2、定义日期格式化对象 3、将日期字符串转换成日期对象
    4、通过日期对象获取时间毫秒值
    5、将两个时间毫秒值相减除以1000,再除以60,再除以60,再除以24得到天
    @throws ParseException

     1 import java.text.ParseException;
     2 import java.text.SimpleDateFormat;
     3 import java.util.Date;
     4 
     5  public static void main(String[] args) throws ParseException {
     6         String birthday ="1994年01月13日";
     7         String taday="2019年05月25日";
     8         //定义日期格式化对象
     9         SimpleDateFormat s1=new SimpleDateFormat("yyyy年MM月dd日");
    10         //将日期字符串转换成日期对象
    11         Date d1=s1.parse(birthday);
    12         Date d2=s1.parse(taday);
    13         //通过日期对象后期时间毫秒值
    14         long time =d2.getTime()-d1.getTime();
    15         //简两个时间毫秒值相减除以1000,在除以60,在除以60,再除以24天
    16         System.out.println(time/1000/60/60/24);
    17         
    18 
    19     }

    Calendar类的概述和获取日期的方法

    概述

    Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR、MONTH、DAY_OF、HOUR

    等日历字段之间的转换提供了一些方法,并为操作日历字段
    (例如获得下个星期的日期)提供了一些方法

    成员方法

    public static Calendar getInstance()

    public int get(int field)

    Calendar类的add()和set()方法

    成员方法

    public void add(int field,int amount)

    public final void set(int year,int month,int date)

    如何获取任意年份是平年还是闰年

    需求:

    键盘录入任意一个年份,判断该年是闰年还是平年

    Calendar c = Calenda.getInstance();

    分析:     
    1、键盘录入年Scanner     
    2、创建Calendar c = Calenda.getInstance();   
    3、通过set方法设置为那一年的3月1日     
    4、将日向前减去1     
    5、判断日是多少天,如果是29天返回true否则返回false

     1 import java.util.Calendar;
     2 import java.util.Scanner;
     3 
     4   public static void main(String[] args) {
     5         Scanner sc = new Scanner(System.in);
     6         System.out.println("请输入年份,判断该年份是闰年还是平年");
     7         
     8         String line = sc.nextLine();            //录入数字字符串
     9         int year = Integer.parseInt(line);        //将数字字符串转换成数字
    10         boolean b = getYear(year);
    11         System.out.println(b);
    12     }
    13 
    14     private static boolean getYear(int year) {
    15         //2、创建Calendar c = Calenda.getInstance();
    16         Calendar c = Calendar.getInstance();
    17         //3、通过set方法设置为那一年的3月1日
    18         c.set(year,2,1);
    19         //4、将日向前减去1
    20         c.add(Calendar.DAY_OF_MONTH, -1);
    21         //5、判断日是多少天,如果是29天返回true否则返回false
    22         return c.get(Calendar.DAY_OF_MONTH) == 29;
    23     }
     
  • 相关阅读:
    postgresql-磁盘空间不足问题排查
    postgresql-删除重复数据
    postgresql-排序
    磁盘耗时时间
    nginx 报错 The plain HTTP request was sent to HTTPS port
    nodejs使用pkg打包
    npm 设置镜像源
    IDEA通过Ctrl+鼠标滚轮放大/缩小字体
    使 nodejs 代码 在后端运行(nohup)
    加密HSQLDB的.script文件
  • 原文地址:https://www.cnblogs.com/Sherwin-liao/p/11062141.html
Copyright © 2011-2022 走看看