Java获取当天或当周的零点零分零秒的时间戳

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();
    }
}

猜你喜欢

转载自blog.csdn.net/Cai181191/article/details/109583306
今日推荐