Java学习之日期实现

在这里只说明个人感觉编程常用到的一些知识点,用于备忘,具体关于Java日期时间的可以参考http://www.runoob.com/java/java-date-time.html 觉得总结的挺好的

Java日期时间获取

Java关于获取日期时间,有很多种方法,这里只介绍其中常见的几种。

  1. Date类获取系统时间
  2. 使用SimpleDateFormat格式化日期时间
  3. Calendar获取系统时间

Date类获取系统时间

Date date=new Date();   //使用当前日期和时间来初始化对象
String dateStr=date.toString();     //将时间日期转变成字符串

Date类进行日期比较

  1. 使用 Date类的getTime() 方法获取两个日期(自1970年1月1日经历的毫秒数值),然后比较这两个值。
  2. 使用方法 before(),after() 和 equals()。例如,一个月的12号比18号早,则 new Date(99, 2, 12).before(new Date (99, 2, 18)) 返回true。
  3. 使用 compareTo() 方法,它是由 Comparable 接口定义的,Date 类实现了这个接口。

Date类常用方法截图
这里写图片描述

使用SimpleDateFormat格式化日期时间

SimpleDateFormat 是一个以语言环境敏感的方式来格式化和分析日期的类。SimpleDateFormat 允许你选择任何用户自定义日期时间格式来运行。

时间模式字符串用来指定时间格式。在此模式中,所有的 ASCII 字母被保留为模式字母

import java.util.*;
import java.text.*;

public class DateDemo {
   public static void main(String args[]) {

      Date dNow = new Date( );
      SimpleDateFormat ft = new SimpleDateFormat ("E yyyy.MM.dd 'at' hh:mm:ss a zzz");

      System.out.println("Current Date: " + ft.format(dNow));
   }
}

日期和时间格式化编码
这里写图片描述
这里写图片描述
解析字符串为时间
SimpleDateFormat 类有一些附加的方法,特别是parse(),它试图按照给定的SimpleDateFormat 对象的格式化存储来解析字符串。

import java.util.*;
import java.text.*;

public class DateDemo {

   public static void main(String args[]) {
      SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd"); 

      String input = args.length == 0 ? "1818-11-11" : args[0]; 

      System.out.print(input + " Parses as "); 

      Date t; 

      try { 
          t = ft.parse(input); 
          System.out.println(t); 
      } catch (ParseException e) { 
          System.out.println("Unparseable using " + ft); 
      }
   }
}

Canlendar类

在新的JavaAPI中,Date类的许多方法已经过时,更多的是采用Calendar类来实现对日期时间的操作和修改(增减等)。

Calendar c = Calendar.getInstance();    //默认是当前日期

Calendar类对象字段类型重点内容
Calendar类中用以下这些常量表示不同的意义,jdk内的很多类其实都是采用的这种思想
这里写图片描述

Calendar可以利用字段类型来设置和修改时间

Calendar c1=Calendar.getInstance(); //默认是当前时间
c1.set(Calendar.DATE,10);       //设置日期为10号
c1.add(Calendar.DATE,10);       //日期+10天,会刷新其他位置的时间
c1.add(Calendar.DATE,-10);      //日期-10天,会刷新其他位置的时间

参考资料:
http://www.runoob.com/java/java-date-time.html

猜你喜欢

转载自blog.csdn.net/dypnlw/article/details/80784474