学习Java笔记,记下来,基本的时间操作,如题目所示,下面看代码:
import java.text.SimpleDateFormat;;
import java.util.Calendar;
public class TimeLearn {
public static void main(String[] args) {
//时间戳
long time1 = System.currentTimeMillis();
System.out.printf("时间戳: %d\n", time1 / 1000);
//时间戳变成时间格式:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String today = format.format(time1);
System.out.println(today);
//时间格式转化成时间戳
long timeStamp = date2TimeStamp("2019-09-18 21:46:20", "yyyy-MM-dd HH:mm:ss");
System.out.println(timeStamp);
//今天的开始
System.out.println(getStartTime() / 1000);
//今天的结束
System.out.println(getEndTime() / 1000);
}
public static long date2TimeStamp(String date_str, String format) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format);
return sdf.parse(date_str).getTime() / 1000;
} catch (Exception e) {
e.printStackTrace();
}
return 0;
}
/**
* 获取今天开始时间
*/
private static Long getStartTime() {
Calendar todayStart = Calendar.getInstance();
todayStart.set(Calendar.HOUR_OF_DAY, 0);
todayStart.set(Calendar.MINUTE, 0);
todayStart.set(Calendar.SECOND, 0);
todayStart.set(Calendar.MILLISECOND, 0);
return todayStart.getTime().getTime();
}
/**
* 获取今天结束时间
*/
private static Long getEndTime() {
Calendar todayEnd = Calendar.getInstance();
todayEnd.set(Calendar.HOUR_OF_DAY, 23);
todayEnd.set(Calendar.MINUTE, 59);
todayEnd.set(Calendar.SECOND, 59);
todayEnd.set(Calendar.MILLISECOND, 999);
return todayEnd.getTime().getTime();
}
}
获取时间戳的方式可以使用:
long time1 = System.currentTimeMillis();
时间戳与时间格式转换,可以利用 SimpleDateFormat 类,进行转换。
而获取当天的开始时间与结束时间,可以使用 Calendar 类实现。