util包里的
Date:可以表示任意时间
构造方法:Date() 创建的是一个表示系统当前时间的Date对象
Date(long date) 根据指定时间(毫秒值)创建对象 1970-1-1 00:00:00加上指定毫秒时间
package Day12;
import java.util.Date;
/**
* @author 123
* util包里的
*Date
*/
public class DateDemo {
public static void main(String[] args) {
//Date() 当前系统时间
Date d = new Date();
System.out.println(d);
//toLocaleString() 好看点的 但过时了
System.out.println(d.toLocaleString());
//Date(long date) 1970-1-1 00:00:00加上指定毫秒时间() 时区不一样,我们是东八区
Date d2 =new Date(1000*60);
System.out.println(d2);
}
}
Date 的常用方法
设置:毫秒值 转 Date void setTiem (long time)
获取:Date 转 毫秒值 long getTime()
package Day12;
import java.util.Date;
/**
* @author 123
*Date成员方法
*/
public class DateDomo2 {
public static void main(String[] args) {
Date d =new Date();
//设置
d.setTime(1000);
System.out.println(d);
//获取
System.out.println(d.getTime());
}
}
SimpleDateFormat(格式化)
Date----> String
String format(Date date)
String--- >Date
Date parse(String source)
构造方法: SimpleDateFormat:使用默认的模式进行对象的构建
SimpleDateFormat(String pattern):使用指定的模式进行对象的构建
解析的字符串,模式必须和构建对象的模式一样
格式如下表:
字母 | 日期或时间元素 | 表示 | 示例 |
G | Era 标志符 | AD | |
y | 年 | 1996; 96 | |
M | 年中的月份 | July; Jul; 07 | |
w | 年中的周数 | 27 | |
W | 月份中的周数 | 2 | |
D | 年中的天数 | 189 | |
d | 月份中的天数 | 10 | |
F | 月份中的星期 | 2 | |
E | 星期中的天数 | Tuesday; Tue | |
a | Am/pm 标记 | PM | |
H | 一天中的小时数(0-23) | 0 | |
k | 一天中的小时数(1-24) | 24 | |
K | am/pm 中的小时数(0-11) | 0 | |
h | am/pm 中的小时数(1-12) | 12 | |
m | 小时中的分钟数 | 30 | |
s | 分钟中的秒数 | 55 | |
S | 毫秒数 | 978 | |
z | 时区 | Pacific Standard Time; PST; GMT-08:00 | |
Z | 时区 | -0800 |
package Day12;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
* @author 123
*SimpleDateFormat
*格式化
* Date---- String
*String format(Date date)
*解析:
* String--- Date
* Date parse(String source)使用指定的模式进行对象的构建
*
*/
public class SimpleDateFormatDemo {
public static void main(String[] args) throws ParseException {
//method();
//method2();
//method3();
}
private static void method3() throws ParseException {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日HH:mm:ss");
Date d = new Date();
String s = sdf.format(d);
System.out.println(s);
Date d1 = sdf.parse(s);
System.out.println(d1);
}
private static void method2() throws ParseException {
//使用指定的模式进行对象构造 格式化
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
Date d =new Date();
String s=sdf.format(d);
System.out.println(s);
//解析
Date d1=sdf.parse(s);
System.out.println(d1);
}
private static void method() throws ParseException {
//SimpleDateFormat:使用默认的模式进行对象的构建
SimpleDateFormat sdf = new SimpleDateFormat();
//创建时间对象
Date d =new Date();
//格式化
String s=sdf.format(d);
System.out.println(s);
//SimpleDateFormat(String pattern):使用指定的模式进行对象的构建
//解析
Date d1 =sdf.parse(s);
System.out.println(d1);
}
}
Calendar(日历)
Calendar : 日历 能更灵活的使用
获取当前系统时间 Calendar c =Calendar.getInstance();
获取 int get(int field) 返回给定的日历字段的值
修改 void set(int field,int value) 把指定的字段修改成指定的值
添加 void add(int field,int value) 把指定的字段添加成指定的值
package Day12;
import java.util.Calendar;
/**
* @author 123
* Calendar 日历 提供类一些操作年月日时的方法
*获取 int get(int field) 返回给定的日历字段的值
*修改 void set(int field,int value) 把指定的字段修改成指定的值
*添加 void add(int field,int value) 把指定的字段添加成指定的值
*/
public class CalendarDemo {
public static void main(String[] args) {
//static Calendar getInstance() 获取当前系统时间
Calendar c =Calendar.getInstance();
//获取 int get(int field)
//int get(int field) // 返回给定日历字段的值
//public static final int YEAR 1
//System.out.println(Calendar.YEAR);
//void set(int field,int value) 把指定的字段修改成指定的值
//c.set(Calendar.DAY_OF_MONTH, 1); //把日改成1号
//void add(int field,int value) 把指定的字段添加成指定的值
//c.add(Calendar.DAY_OF_MONTH, 6); //把当前日添加6号
int year =c.get(Calendar.YEAR);
int month = c.get(Calendar.MONTH)+1;//是从零开始算一月 所以2月就是1
int day =c.get(Calendar.DAY_OF_MONTH); //一个月几天
System.out.println(year+"年"+month+"月"+day+"日");
}
}
Math 工具类
当把构造方法变成私有的时候,就不能创建对象
//static double PI pai的值(3.1415926.......)
//static double abs(double a) :返回绝对值
//static double ceil(double a) 天花板 不管小数点后的几位直接向上取整
//static double floor(double a) 地板 不管小数点后的几位直接向下取整
//static long round (double a) 四舍五入
//static double max(double a,double b) 比较哪个数谁最大
//static double min(double a,double b) 比较哪个数谁最小
//static double pow(double a,double b) 返回第一参数的第二个参数次幂
//static double random() :返回一个随机数,大于零小于一的double类型的数据
package Day12;
/**
* @author 123
*Math工具类的使用
*/
public class MathDemo {
public static void main(String[] args) {
//Math 包含了基本的数学运算方法
//static double PI pai的值
System.out.println(Math.PI);
//static double abs(double a) :返回绝对值
System.out.println(Math.abs(-9));
//static double ceil(double a) 天花板 不管小数点后的几位直接向上取整
System.out.println(Math.ceil(1.6)); //2.0
//static double floor(double a) 地板 不管小数点后的几位直接向下取整
System.out.println(Math.floor(1.6)); // 1.0
//static long round (double a) 四舍五入
System.out.println(Math.round(1.6)); // 2
System.out.println(Math.round(1.4)); // 1
//static double max(double a,double b) 比较哪个数谁最大
System.out.println(Math.max(6, 9)); // 9
//static double min(double a,double b) 比较哪个数谁最小
System.out.println(Math.min(6, 9)); // 6
//static double pow(double a,double b) 返回第一参数的第二个参数次幂
System.out.println(Math.pow(2, 12)); //2的12次方是4096.0
//static double random() :返回一个随机数,大于零小于一的double类型的数据
System.out.println(Math.random());
}
}