日期类和简单的Collection

来源:互联网 发布:赛思软件 编辑:程序博客网 时间:2024/05/21 06:43

一.  日期操作

Date类

固定的时间叫纪元,是UTC时间1970年1月1日 00:00:00

UTC与GMT一样,是一种具有实际目的的科学标准时间

// 该类的每一个实例用于表示一个具体的时间点

 //内部维护一个long值,该值为1970年元旦到该Date表示的时间之间所经过的毫秒

 //Date因为设计存在缺陷,所以大部分方法被修饰为过时的,不再建议使用,所以现在仅用其表示一个时间

//Date重写了toString方法,但是显示的日期格式对非英语地区不友好

              // 当前系统时间

              Date date = new Date();

              System.out.println(date);

              //获取Date内部维护的毫秒值

              longtime = date.getTime();

              time += 1000 * 60 * 60 * 24;

              date.setTime(time);

        System.out.println(date);

二.  simpleDateFormat

hava.text.simpleDateFormat

该类可以根据一个指定的日期格式将Date与String之间进行相互转换

 

         日期模式匹配字符

Y  年

M 月

d  天

E  星期

              Date date = new Date();

              System.out.println(date);

              SimpleDateFormatsdf =new SimpleDateFormat("YYYY-MM-ddHH:mm:ss");

              Stringtime = sdf.format(date);

              System.out.println(time);

 

 

String str = "2008-08-0820:08:08";

              SimpleDateFormats =new SimpleDateFormat("yyyy-MM-ddHH:mm:ss");

              Date date = s.parse(str);

              System.out.println(date);

 

将制定字符串转换为Date形式

 

三.  Calendar

java.util.Calendar类用于封住日历信息,可以对时间分量进行运算

       // 默认创建Calendar实现类

       // 当前系统时间

              Calendarcalendar = Calendar.getInstance();

 

       // toString重写了但是不能直观反应其表示时间

              System.out.println(calendar);

       

       //该方法返回一个Date实例,该实例表示的时间就是当前Calendar表示的时间

              Date date =calendar.getTime();

        System.out.println(date);

Calendar的各个方法

Calendar calendar=Calendar.getInstance();

int year = calendar.get(Calendar.YEAR);

get()实例化之后,直接取得日历的年月日

       // 和天相关的时间分量

// DATE,DAY_OF_MONTH 是一直的,表示月中的天

       // DAY_OF_YEAR是表示年中的天

       // DAY_OF_WEEK 表示周中的天

 

              intday1 = calendar.get(Calendar.DAY_OF_YEAR);

              System.out.println(day1);

              String[]date = {"","","","","","","" };

              intday2 = calendar.get(Calendar.DAY_OF_WEEK) - 1;

        System.out.println(date[day2]);

 

//设置时间分量

public class CalendarDemo03 {

       public static void main(String[] args) {

              Calendarcalendar = Calendar.getInstance();

 

              /**

               * 表示2008-8-8 20:08:08

               */

              // 设置年

              calendar.set(calendar.YEAR, 2008);

              calendar.set(Calendar.MONTH, Calendar.AUGUST);

              calendar.set(Calendar.DAY_OF_MONTH, 8);

              calendar.set(Calendar.HOUR_OF_DAY, 20);

              calendar.set(Calendar.MINUTE, 8);

              calendar.set(Calendar.SECOND, 8);

//            calendar.set(Calendar.DAY_OF_WEEK,Calendar.TUESDAY);

              System.out.println(calendar.getTime());

       }

}

 

/**

 * 获取某一时间分量的最大值

 *

 * @authortarena

 *

 */

public class CalendarDemo04 {

       public static void main(String[] args) {

              Calendarcalendar = Calendar.getInstance();

              // 查看当月有多少天?

              intdays = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);

              System.out.println(days);

              days = calendar.getActualMaximum(Calendar.DAY_OF_YEAR);

              System.out.println(days);

       }

}

 

         一般就是用来获取月有多少天,年有多少天

/**

 * 要求用户输入一个日期。并对该日期进行一系列的操作计算,后再按指定的个数输出给用户 String-- SimpleDateFormat--Date

 * Date-- Calendar使用calendar相关计算 Calendar-->Date

 * Date--SimpleDateFormat-->String

 */

 

Collection 和数组类似

Interface Collection

List:可重复集,有序集,可以通过下标操作

Set:不可重复集  不可有两个元素相同,基本上是无序集

 

boolean  add(E e)

插进去返回true插不进返回false

只有set不可重复的时候才有可能插不进去,返回false、

 

       Collection<String>c = newArrayList<String>();

              c.add("one");

              c.add("two");

              c.add("three");

              c.add("four");

              c.add("five");

              c.remove("one");

              c.remove("four");

              System.out.println(c);

              System.out.println(c.size());

              System.out.println(c.isEmpty());

 

c=null                       是否有这个集合

c=isEmpty                  集合中是否有元素

c.clear();                     清空集合内容

 

booleancontains(E e)

判断当前集合是否包含给定元素

是否包含给定元素是依靠equals,equals如果不重写的话则比较的是变量的地址,不是内容,所以equals和toString的重写很重要

 

集合只能保存引用类型的元素并且保存的是元素的引用

 

集合存的是地址,不是常量,对象的属性改变导致集合也会改变。

 

0 0
原创粉丝点击