RE:JAVA学习-日期操作+步入集合

一.日期操作
1.Date类

    1.1 Date date=new Date()
        系统当前的日期及时间信息
    1.2 long time=date.getTime() (该方法返回一个long值)
        从1970年1月1日到今天所过的毫秒数
    1.3 其他很多方法均已过时由 Calendar代替
public class DateDemo {
    public static void main(String[] args) {
        Date now=new Date();
        //Date重写了toString方法
        System.out.println(now);//Sat Aug 19 07:10:25 CST 2017

        //从1970年1月1日00:00:00 到该Date表示的时间之间所经过的毫秒
        long time=now.getTime();
        System.out.println(time);//1503097825396
        //天数(大致的)
        System.out.println(time/1000/60/60/24);//17396

        //查看25天以后是哪天
        time=now.getTime();
        time+=25*1000*60*60*24L;
        now.setTime(time);
        System.out.println(now);//Wed Sep 13 07:10:25 CST 2017
    }
}

2.SimpleDateFormat

    2.1 作用 格式化或解析 日期的具体类
    2.2 构造:SimpleDateFormat(String pattern) 预设日期格式
        如 SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    2.3将Date格式化为String
    String str=sdf.format(date);//括号里可以为毫秒值
    其中 sdf为SimpleDateFormat date为Date 
public class SimpleDateFormat_format {
    public static void main(String[] args) {
        Date now=new Date();
        System.out.println(now);//Sat Aug 19 07:12:29 CST 2017
        /*
         * 2017-07-25 10:30:22
         * yyyy-MM-dd HH:mm:ss
         */
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss a E");
        /*
         * Date->String
         * 
         * String format(Date date)
         * 按照SimpleDateFormat指定的日期格式将
         * 给定的Date转换为字符串
         */
        String str=sdf.format(now);
        System.out.println(str);//2017-08-19 07:12:29 上午 星期六
    }
}
    2.4将String解析为Date
    Date date=sdf.parse(str);
    其中 str为预设格式的字符串
    代码演示
public class SimpleDateFormat_parse {

    public static void main(String[] args) throws ParseException {
        String str="2008-08-08 20:08:08";
        System.out.println(str);//2008-08-08 20:08:08
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        /*
         * String->Date
         * 将给定的字符串按照SimpleDateFormat指定的
         * 日期格式解析为一个Date对象
         */
        Date date=sdf.parse(str);
        System.out.println(date);//Fri Aug 08 20:08:08 CST 2008
    }
}

3.Calendar

    3.1 Calendar c=Calendar.getInstance();
    3.2 相关操作:
        void set(...);设置日历字段
        void setTime(Date date) 使用给定的Date设置此Calendar的时间
        Date getTime() 获取Calendar表示的日期
        void add(int field,int mount) 为给定的时间分量的值加上给定的值(若减则加负)
public class Calendar_add {

    public static void main(String[] args) {
        /*
         * 计算3年2个月零25天以后是哪天
         */
        Calendar calendar=Calendar.getInstance();
        calendar.add(Calendar.YEAR, 3);
        calendar.add(Calendar.MONTH,2);
        calendar.add(Calendar.DAY_OF_YEAR, 25);
        System.out.println(calendar.getTime());//Fri Nov 13 07:14:46 CST 2020
        //设置为当前周的星期五
        calendar.set(Calendar.DAY_OF_WEEK,Calendar.FRIDAY);
        System.out.println(calendar.getTime());//Fri Nov 13 07:14:46 CST 2020
        //计算前一天
        calendar.add(Calendar.DAY_OF_YEAR,-1);
        System.out.println(calendar.getTime());//Thu Nov 12 07:14:46 CST 2020

        /*
         * int getActualMaximum(int field)
         * 返回给定时间分量所允许的最大值
         * 参照日期为当前Calendar所表示的日期
         */
        //查看那个月的月底是几号
        int days=calendar.getActualMaximum(Calendar.DAY_OF_MONTH);//30
        System.out.println(days);
    }
}

二.Collection集合
1. 作用:将使用的对象存储于特定数据结构的容器中
Collection cells=new ArrayList();
. Collection cells=new LinkedList();

    ArrayList:底层是数组,查询比较快,增删比较慢,扩容为原来的1.5倍
    LinkedList:底层是双向列表,查询比较慢,增删比较快
  1. List 可重复集

  2. Set 不可重复集

  3. 相关操作
    boolean add(E e) 将给定的元素添加进集合,若添加成功则返回true.
    boolean contains(Object o)判断给定的元素是否被包含在集合中 (注意:判断条件是根据 每个元素的 equals()方法进行比较后的结果 一般要重写equals()方法)
    int size() 返回元素总数
    void clear() 清空当前集合
    boolean isEmpty()
    boolean addAll(Collection<> c) 将该集合的元素添加到当前集合中(参数需要传一个集合)
    boolean containsAll(Collection<> c) 判断当前集合是否包含给定集合中的所有元素

public class CollectionDemo {

    public static void main(String[] args) {
        Collection<String> c=new ArrayList<String>();
        /*
         * boolean add(E e)
         * 向当前集合中添加给定元素,若成功存入则
         * 返回 true
         */
        c.add("one");
        c.add("two");
        c.add("three");
        c.add("four");
        String str=c.toString();
        System.out.println(str);//[one, two, three, four]

        /*
         * int size()
         * 返回当前集合的元素个数
         */
        int size=c.size();
        System.out.println("size:"+size);//size:4

        /*
         * boolean isEmpty()
         * 判断当前集合是否不含有任何元素
         */
        boolean isEmpty=c.isEmpty();
        System.out.println(isEmpty);//false

        /*
         * void clear()
         * 清空集合
         */
        c.clear();
        System.out.println("集合已清空");
        System.out.println("size:"+c.size());//size:0
        System.out.println("isEmpty:"+c.isEmpty());//isEmpty:true
        System.out.println(c);//[]
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值