Java获取当天和当周的零点零分零秒的时间戳,亲测可用!
package com.zhiquan.test;
import java.io.*;
import java.sql.Timestamp;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DeviceTempData {
public static void main(String[] args) {
// 获取指定时间的时间戳
try {
String dareStr = "2020-9-9 11:20:30.0";
DateFormat df = new SimpleDateFormat("yyyy-M-d HH:mm:ss");
Date date = df.parse(dareStr);
System.out.println(date.getTime());//1599621630000
Timestamp ts = new Timestamp(date.getTime());
System.out.println(ts.getTime());//1599621630000
System.out.println("--------------------------------");
} catch (ParseException e) {
e.printStackTrace();
}
// 获取当前时间的时间戳
Date date = new Date();
System.out.println(date.getTime());//1604909251372
Timestamp ts = new Timestamp(date.getTime());
System.out.println(ts.getTime());//1604909251372
System.out.println("--------------------------------");
// 获取当前时间的格式化输出
SimpleDateFormat df1 = new SimpleDateFormat("yyyy-MM-dd");
SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(df1.format(date));//2020-11-09
System.out.println(df2.format(date));//2020-11-09 16:07:31
// 获取当天零点零分零秒的时间戳
Calendar curentDay = Calendar.getInstance();
curentDay.setTime(new Date());
curentDay.set(Calendar.HOUR_OF_DAY, 0);
curentDay.set(Calendar.MINUTE, 0);
curentDay.set(Calendar.SECOND, 0);
System.out.println(curentDay.getTime().getTime());//1604851200374
System.out.println(curentDay.getTimeInMillis());//1604851200374
System.out.println("--------------------------------");
// 获取当天的体温数据
String s = getTempDataByCondition("C:\\Users\\it006247\\Desktop\\311153406022.txt",curentDay.getTimeInMillis());
//System.out.println(s);
}
/**
* 根据条件获取体温数据
* @param filePath
* @param time
* @return
*/
public static String getTempDataByCondition(String filePath,long time) {
// StringBuilder sb = new StringBuilder();
StringBuffer sb = new StringBuffer();
Reader reader = null;
BufferedReader br = null;
try {
reader = new FileReader(filePath);
br = new BufferedReader(reader);
String data = null;
while ((data = br.readLine()) != null) {
String[] dataArray = data.split(",");
String s = dataArray[0];
s = s.substring(1,dataArray[0].length());
// 若所选的时间戳大于等于给定的时间戳,说明时间是属于范围內
if (Long.parseLong(s) >= time) {
sb.append(data);
sb.append("\r\n");
}
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
reader.close();
br.close();
} catch (Exception e) {
e.printStackTrace();
}
}
return sb.toString();
}
}