學習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 類實現。