一.日期操作
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:底层是双向列表,查询比较慢,增删比较快
List 可重复集
Set 不可重复集
相关操作
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);//[]
}
}