获取毫秒数
工作中基本上都会需要使用对时间的操作,java也提供了一些时间相关的类。
下面代码可以获取自 1970年1月1日 00时00分00秒 000毫秒 到当前的毫秒数。
package com.monkey1024.date;
/**
* 获取自 1970年1月1日 00时00分00秒 000毫秒 到当前的毫秒数
* 演示String和StringBuffer分别进行字符串拼接所需要的毫秒数
*/
public class DateTest01 {
public static void main(String[] args) {
long now = System.currentTimeMillis();
System.out.println(now);
String s = "";
StringBuffer sb = new StringBuffer();
//获取拼接前的毫秒数
long before = System.currentTimeMillis();
for(int i=0; i<=100; i++){
// s += i;拼接String
// sb.append(i);拼接StringBuffer
}
//拼接后的毫秒数
long after = System.currentTimeMillis();
//总共耗时毫秒
System.out.println(after - before);
}
}
获取系统当前时间
在java.util包下面有个Date类,通过这个类可以获取系统的当前时间
package com.monkey1024.date;
import java.util.Date;
/**
*
* 获取系统当前时间
*
*/
public class DateTest02 {
public static void main(String[] args) {
//获取系统当前时间
Date nowTime = new Date();
System.out.println(nowTime);
Date d1 = new Date(0);//如果构造方法中参数传为0代表的是1970年1月1日
System.out.println(d1);
}
}
日期格式化类
上面代码中打印的日期格式不太符合中国的风格,国人一般习惯的时期格式是:
1970年01月01日 00时00分00秒
在java.text包下有个SimpleDateFormat类,通过这个类可以将日期修改为我们想要的风格
package com.monkey1024.date;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* 日期格式化
*
*/
public class DateTest02 {
public static void main(String[] args) {
//获取系统当前时间
Date nowTime = new Date();
System.out.println(nowTime);
Date d1 = new Date(0);//如果构造方法中参数传为0代表的是1970年1月1日
System.out.println(d1);
//1.创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SSS");
//可以改成其他格式
//SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss SSS");
//2.开始格式化(Date--->String)
String strTime = sdf.format(nowTime);
System.out.println(strTime);
}
}
上面代码中需要注意大小写区分:
y表示年
M表示月
d表示日
H表示小时
m表示分钟
s表示秒
S表示毫秒
将String类型转换为Date类型
package com.monkey1024.date;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
*
* 将String类型转换为Date类型
*
*/
public class DateTest03 {
public static void main(String[] args) {
String strTime = "2017年01月01日 00:00:00 000";
//将String日期转换成日期类型Date
//String-->Date
//1.创建日期格式化对象
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss SSS"); //格式不能随意,应该和上面的字符串格式相同。
//2.将字符串转换成日期类型
Date d = new Date();
try {
d = sdf.parse(strTime);
} catch (ParseException e) {
e.printStackTrace();
}
System.out.println(d);
}
}
Calendar简介
Calendar 类是一个抽象类,为操作日历方面提供了一些方法
package com.monkey1024.date;
import java.util.Calendar;
/**
*
* Calendar
*
*/
public class DateTest04 {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
//查看当前日期是星期几
int i = c.get(Calendar.DAY_OF_WEEK);
System.out.println(i); //外国人将周日看做是第一天
System.out.println(c.get(Calendar.DAY_OF_MONTH));
}
}