java 时间类分析
来源:互联网 发布:知乎回答怎么添加图片 编辑:程序博客网 时间:2024/06/14 01:50
- /*@src http://eric-619.iteye.com/blog/693638
- * 类简介:
- * 1. java.util.Date类:
- * 表示特定的时间点,精确到毫秒,但不支持日期的国际化和分时区显示。
- * 2. java.util.Calendar类:
- * 是抽象类,提供了常规的日期修改功能和国际化支持。
- * 3. java.util.GregorianCalendar类:
- * 是Calendar类的子类,有用的是有个判断闰年的方法。
- * 4. java.util.Locale类:
- * 描述特定的地理、政治、文化上的地区,Locale对象主要封装了“地区”和“语言种类”两方面
- * 的信息,通常用于在国际化和本地化程序中的地区、语言相关的方式显示日期、数字或文本信息等。
- * 5. java.util.TimeZone类:
- * 此抽象类描述时区信息。可以调用静态方法getDefault()一获得该类的实例对象。
- * 6. java.text.DateFormat类:
- * 提供了将日期/时间信息进行格式化处理的功能。
- * 7. java.text.SimpleDateFormat类:
- * DateFormat类的子类,自定义格式化日期和时间。
- */
- import java.util.*;
- import java.util.Date;
- import java.util.Calendar;
- import java.util.GregorianCalendar;
- import java.util.Locale;
- import java.util.TimeZone;
- import java.text.DateFormat;
- import java.text.SimpleDateFormat;
- import java.text.ParseException;
- public class TestTime {
- public static void main(String [] args){
- new TestTime().testDate();
- new TestTime().testCalendar();
- new TestTime().testLocale();
- new TestTime().testTimeZone();
- new TestTime().testGregorianCalendar();
- new TestTime().testSimpleDateFormat();
- }
- // 1.java.util.Date类:表示特定的时间点,精确到毫秒,但不支持日期的国际化和分时区显示。
- public void testDate(){
- Date d1 = new Date();
- Date d2 = new Date(2000);
- System.out.println(d1);
- System.out.println(d2);
- System.out.println(d2.compareTo(d1)); //d2大输出1,d2小输出-1,等则输出0
- System.out.println(d2.equals(d1));
- System.out.println("----------------------");
- }
- // 2. java.util.Calendar类:是抽象类,提供了常规的日期修改功能和国际化支持。
- public void testCalendar(){
- //调用静态方法getInstance()来获得实例对象,此对象基于当前系统时间
- Calendar c = Calendar.getInstance();
- System.out.println(c.get(Calendar.YEAR));
- System.out.println(c.get(Calendar.MONTH));
- System.out.println(c.get(Calendar.DATE));
- System.out.println(c.get(Calendar.HOUR_OF_DAY));
- System.out.println(c.get(Calendar.MINUTE));
- System.out.println(c.get(Calendar.SECOND));
- System.out.println(c.get(Calendar.AM_PM));
- c.add(Calendar.YEAR,10); // 在现在的基础上加了10年
- System.out.println(c.get(Calendar.YEAR));
- c.set(2009,8,28); //设置基于的时间,其他时间默认当前系统时间
- System.out.println(c.get(Calendar.YEAR));
- System.out.println(c.get(Calendar.MONTH));
- System.out.println(c.get(Calendar.DATE));
- System.out.println(c.get(Calendar.HOUR_OF_DAY));
- System.out.println("--------------------------");
- }
- // 3. java.util.GregorianCalendar类:是Calendar类的子类,有用的是有个判断闰年的方法。
- public void testGregorianCalendar(){
- GregorianCalendar gc = new GregorianCalendar();
- System.out.println(gc.isLeapYear(2008));
- System.out.println("------------------------");
- }
- /* 4. java.util.Locale类:
- * 描述特定的地理、政治、文化上的地区,Locale对象主要封装了“地区”和“语言种类”两方面
- * 的信息,通常用于在国际化和本地化程序中的地区、语言相关的方式显示日期、数字或文本信息等
- */
- public void testLocale(){
- Locale defaultLocale = Locale.getDefault(); //当前机器所在的国家和地区
- System.out.println(defaultLocale);
- System.out.println(defaultLocale.getLanguage()); //英文宿写的语言名
- System.out.println(defaultLocale.getCountry()); //英文宿写的国家名
- System.out.println(defaultLocale.getDisplayName()); //语言名(国家名)
- System.out.println(defaultLocale.getDisplayLanguage()); //语言名
- System.out.println(defaultLocale.getDisplayCountry()); //国家名
- System.out.println("--------------------------");
- }
- // 5. java.util.TimeZone类: 此抽象类描述时区信息。可以调用静态方法getDefault()一获得该类的实例对象。
- public void testTimeZone(){
- //String[] ids = TimeZone.getAvailableIDs();
- TimeZone tz = TimeZone.getDefault();
- System.out.println(tz);
- System.out.println(tz.getDisplayName()); //isLeapYear()返回值是布尔类型
- System.out.println("---------------------------");
- }
- // 6. java.text.DateFormat类: 提供了将日期/时间信息进行格式化处理的功能。
- public void testDateFormat(){
- DateFormat df1 = DateFormat.getDateTimeInstance();
- String str1 = df1.format(new Date());
- System.out.println(str1);
- }
- // 7. java.text.SimpleDateFormat类:DateFormat类的子类,自定义格式化日期和时间,是12小时制。
- public void testSimpleDateFormat(){
- SimpleDateFormat sdf1 = new SimpleDateFormat();
- String ssf1 = sdf1.format(new Date());
- System.out.println(ssf1);
- SimpleDateFormat sdf2 = new SimpleDateFormat("2009/04/29");
- SimpleDateFormat sdf3 = new SimpleDateFormat("yyyy年MM月dd日 hh:mm:ss");
- String ssf2 = sdf2.format(new Date());
- System.out.println(ssf2);
- try{
- Date d = sdf2.parse("2009/04/29");
- System.out.println(d);
- }catch(ParseException e){
- e.printStackTrace();
- }
- System.out.println("----------------------------");
- }
- }
0 0
- java 时间类分析
- 时间管理类APP分析:拇指时间
- 时间管理类APP分析:拇指时间
- Java 时间Util类
- Java时间类
- java 时间处理类
- JAVA --时间辅助类
- java时间类处理
- java时间工具类
- java 时间工具类
- Java时间工具类
- Java时间工具类
- java 时间相关类
- 时间工具类--java
- Java日期时间类
- Java时间工具类
- java 时间工具类
- java 时间类 工具
- springmvc梳理6-----springmvc拦截器(2)
- 【LeetCode】Insert Interval
- LeetCode 21. Generate Parentheses
- 红黑树
- 【LeetCode】N-Queens II
- java 时间类分析
- WideString 还是 AnsiString ?谈谈字符编码
- Delphi中预编译指令
- 【LeetCode】Length of Last Word
- Delphi2006连接Mysql5.1
- test
- 动态创建clientdataset的表定义_delphi教程
- 详解JavaScript对象
- [LeetCode35]Search Insert Position