Date类
-
基本概念
java.util.Date类主要用于描述特定的瞬间,可以精确到毫秒。
-
常用的方法
Date() - 根据当前系统时间来构造对象。
Date(long date) - 根据参数指定的毫秒数构造对象,返回的是距离标准时间参数指定毫秒数的时间点。
long getTime() - 获取当前系统表示的时间距离标准时间的毫秒数。
void setTime(long time) - 设置时间对象变为距离标准时间参数指定毫秒数的时间点。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| import java.util.Date; public class DateTest { public static void main(String[] args) { Date d1 = new Date(); System.out.println("d1 = " + d1); System.out.println("----------------------------");
Date d2 = new Date(1000); System.out.println("d2 = " + d2); System.out.println("----------------------------");
long msec = d1.getTime(); System.out.println("msec = " + msec); System.out.println("----------------------------");
d1.setTime(2000); System.out.println("d1 = " + d1); } }
|
-
基本概念
java.text.SimpleDateFormat类主要用于实现日期和文本之间的转换。
-
常用的方法
SimpleDateFormat(String pattern) - 根据参数指定的字符串模式构造对象。
y代表年 M代表月 d代表日 H代表时 m代表分 s代表秒
String format(Date date) - 用于实现日期类型向文本类型的转换。
Date parse(String source) - 用于实现文本到日期的转换。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class SimpleDateFormatTest { public static void main(String[] args) throws ParseException { Date d1 = new Date(); System.out.println("d1 = " + d1); System.out.println("-------------------------");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str1 = sdf.format(d1); System.out.println("转换后的格式为:" + str1); Date d2 = sdf.parse(str1); System.out.println("d2 = " + d2); } }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; public class BirthDayTest { public static void main(String[] args) throws ParseException { System.out.println("请输入您的生日信息:(xxxx年xx月xx日)"); Scanner sc = new Scanner(System.in); String str1 = sc.next();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日"); Date d1 = sdf.parse(str1); long msec = d1.getTime(); long day = (msec / 1000 / 3600 + 8) / 24;
System.out.println("您的生日距离1970年1月1日已经过去" + day + "天了!"); } }
|
Calendar类
-
基本概念
java.util.Calendar类主要用于取代Date类描述特定的瞬间。
-
常用的方法
static Calendar getInstance() - 用于获取Calendar类型的引用。
void set(int year, int month, int date, int hourOfDay, int minute, int second) - 用于设置年月日时分秒信息。
Date getTime() - 用于实现从Calendar类型向Date类型的转换。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; public class CalendarTest { public static void main(String[] args) { Date d1 = new Date(2008-1900, 8-1, 8, 20, 8, 8); System.out.println(d1); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println(sdf.format(d1)); System.out.println("------------------------------------");
Calendar c1 = Calendar.getInstance(); c1.set(2008, 8-1, 8, 20, 8, 8); Date d2 = c1.getTime(); System.out.println(sdf.format(d2)); } }
|
-
复习:
当需要在程序中记录单个数据内容时,则声明一个变量记录即可;
当需要在程序中记录多个类型相同的数据内容时,则声明一个一维数组记录即可;
当需要在程序中记录多个类型不同的数据内容时,则构造一个对象记录即可;
当需要在程序中记录多个类型相同的对象时,则声明一个对象数组记录即可;
当需要在程序中记录多个类型不同的对象时,则声明一个集合记录即可;
在Java语言中用于描述集合的顶层框架:Collection集合 和 Map集合。
Collection集合
在以后的开发中很少直接使用Collection集合,而是更多地使用Collection集合的子集合:List集合、Queue集合以及Set集合。
-
collection集合的常用方法
boolean add(E e) - 向集合中添加对象.
boolean contains(Object o) - 判断是否包含指定对象.
boolean remove(Object o) - 从集合中删除对象.
void clear() - 清空集合
int size() - 返回包含对象的个数.
boolean isEmpty() - 判断是否为空.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| import java.util.*; public class CollectionTest { public static void main(String[] args) { Collection c1 = new ArrayList();
boolean b1 = c1.add(new String("one")); System.out.println("b1 = " + b1); System.out.println("c1 = " + c1);
b1 = c1.add(new Integer(2)); System.out.println("b1 = " + b1); System.out.println("c1 = " + c1);
b1 = c1.add(new Student(1001, "zhangfei", 30)); System.out.println("b1 = " + b1); System.out.println("c1 = " + c1);
System.out.println("-----------------------------------"); b1 = c1.contains(new Integer(1)); System.out.println("b1 = " + b1); b1 = c1.contains(new Integer(2)); System.out.println("b1 = " + b1); b1 = c1.contains(new Student(1001, "zhangfei", 30)); System.out.println("b1 = " + b1);
System.out.println("-----------------------------------"); b1 = c1.remove(new String("one")); System.out.println("b1 = " + b1); System.out.println("c1 = " + c1);
b1 = c1.remove(new String("two")); System.out.println("b1 = " + b1); System.out.println("c1 = " + c1);
c1.clear(); System.out.println("c1 = " + c1);
System.out.println("-----------------------------------"); System.out.println("集合中元素的个数是:" + c1.size()); System.out.println((0 == c1.size() ? "集合已经空了": "集合还没有空")); System.out.println(c1.isEmpty()? "集合已经空了": "集合还没有空"); } }
|