java.util.Random
伪随机数类,可以生成随机数系列
Random r1 = new Random();
Random r2 = new Random(long 种子);
常用方法:
实现随机数算法,继承Random类,重写int next(int)
int nextInt()
int nextInt(int maxNum)
float nextFloat() 0-1
double nextDouble()
void nextBytes(byte[] arr);
...
java.util.Date
Date记录日期时间的类
类 Date 表示特定的瞬间,精确到毫秒。
构造器
Date()//当前系统日期时间
Date(long date)//date以毫秒为单位的一个数值
boolean after(Date when)
测试此日期是否在指定日期之后。
boolean before(Date when)
测试此日期是否在指定日期之前。
Object clone()
返回此对象的副本。
int compareTo(Date anotherDate)
比较两个日期的顺序。
boolean equals(Object obj)
比较两个日期的相等性。
long getTime()
返回自 1970 年 1 月 1 日 00:00:00 GMT 以来此 Date 对象表示的毫秒数。
java.text包
SimpleDateFormat
此类的实例可以根据指定的模式格式化日期,解析得到日期
是日期类的对象与字符串字之间的转换工具类
设置模式,以字符串格式指定:
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss E");
常用方法:
String fromat(Date):将指定日期对象,按指定模式格式为一个日期字符串
示例:注意date转字符串
Date now = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss E");
String time = sdf.format(now);
输出:
2017/3/29 10:54:20 星期三
Date parse(String date):将日期格式的字符串,按指定模式解析为一个日期对象,可能会抛出解析异常
示例:
String date = "1998-5-10";//日期格式的字符串
Date birthday = null;
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
birthday = sdf.parse(date);
import java.util.Date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class ConvertDemo {
/**
* 日期转换成字符串
* @param date
* @return str
*/
public static String DateToStr(Date date) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String str = format.format(date);
return str;
}
/**
* 字符串转换成日期
* @param str
* @return date
*/
public static Date StrToDate(String str) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = null;
try {
date = format.parse(str);
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
public static void main(String[] args) {
Date date = new Date();
System.out.println("日期转字符串:" + ConvertDemo.DateToStr(date));
System.out.println("字符串转日期:" + ConvertDemo.StrToDate(ConvertDemo.DateToStr(date)));
}
}
java.util包
Calendar
此类的实例可以设置或获取日期时间指定部份(日期字段)的值
如何获取一个日期对象(Calendar是抽象类)
Calendar cal = new Calendar();//错,抽象类不能实例化对象
Calendar cal = Calendar.getInstance();
Calendar cal = new GregorianCalendar();
常用字段(属性)
YEAR 年
MONTH 月
DAY_OF_MONTH 日
DATE 日
DAY_OF_YEAR 年中的天数
DAY_OF_WEEK 星期
HOUR 时
MINUTE 分
SECOND 秒
JANUARY 一月 0
FEBRUARY 二月 1
MARCH 2
APRIL
MAY
JUNE
JULY
AUGUST
SEPTEMBER
OCTOBER 十月 9
NOVEMBER 10
DECEMBER 十二月 11
SUNDAY 星期日 1
MONDAY 2
TUESDAY 3
WEDNESDAY 4
THURSDAY
FRIDAY
SATURDAY 星期六 7
常用方法
set(int 字段, int 值)设置日历指定字段的值
get(int 字段)获取日历指定字段的值
Calendar
日历对象,方便设置或获取日历指定部分的字段值
这个抽象,唯一个实现的子类是GregorianCalendar
常用字段:YEAR,MONTH,...
常用方法:
int get(int 日期字段)
void set(int 日期字段,int 值)
void set(int year,int month, int date)
void add(int 日期字段,int 值)
void roll(int 日期字段,int 值)
Date getTime()
void setTime(Date date)
void setTimeInMillis(long 毫秒值)
roll() | add()
结论:roll()函数处理,只会比相应的字段进行处理,不会智能的对其它字段也进行逻辑上的改变。
但是add()函数会在逻辑上改变其它字段,使结果正确,联动。
java.util
Random,Date,Calendar
Random
种子
实现随机算法,重写next()
Date
实例对象保存一个瞬间值(毫秒)
getTime() after() before compareTo() equals()
Date() Date(Long)