改变时间戳精度

package com.gddxit.pipenetwork.monitor.web.result.handler;

import com.gddxit.dxbase.core.common.util.TimeUtils;

import java.sql.Timestamp;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.LinkedList;
import java.util.List;

/**
* Created by dengrq on 2018/9/12.
*/
public class Dome2 {
public static void main(String[] args) throws ParseException {
List<Timestamp> timeList = new ArrayList<>();
// String s = "HOUR";
Timestamp startTime = new Timestamp(1536738444000L);
Timestamp endTime = new Timestamp(1718013491000L);
System.out.println(startTime);
List<Timestamp> list = new ArrayList<>();
list = getFormat("yyyy-MM-dd HH:00:00:000",startTime,endTime);
timeList = TimeUtils.getHourArrayByRange(1, list.get(0), list.get(1));
//timeList = getYearArrayByRange(1, list.get(0), list.get(1));

System.out.println(startTime.getTime());

//System.out.println(startTime.getTime());
for (Timestamp timestamp:timeList
) {
// System.out.println(timestamp.getTime());
}
}
public static List<Timestamp> getFormat(String form ,Timestamp startTime,Timestamp endTime) throws ParseException {
List<Timestamp> list = new LinkedList();
SimpleDateFormat sdf = new SimpleDateFormat(form);
System.out.println(startTime);
System.out.println(sdf.format(startTime));
System.out.println(sdf.parse(sdf.format(startTime)));
Timestamp startTime1 = new Timestamp(sdf.parse(sdf.format(startTime)).getTime());
Timestamp endTime1= new Timestamp(sdf.parse(sdf.format(endTime)).getTime());
list.add(startTime1);
list.add(endTime1);
return list;
}

public static List<Timestamp> getYearArrayByRange(int interval, Timestamp startTime, Timestamp endTime) {
List<Timestamp> list = new LinkedList();
if (startTime == null) {
startTime = endTime;
}

if (endTime == null) {
endTime = startTime;
}

if (startTime.equals(endTime)) {
list.add(getYear(startTime));
return list;
} else {
Timestamp time = getYear(startTime);

do {
do {
list.add(time);
time = addMonth(time, interval);
} while (time.equals(getYear(endTime)));
} while (time.before(getYear(endTime)));

return list;
}
}

public static Timestamp getYear(Timestamp timestamp) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(timestamp);
calendar.set(5, 1);
calendar.set(11, 0);
calendar.set(12, 0);
calendar.set(13, 0);
calendar.set(14, 0);
return new Timestamp(calendar.getTime().getTime());
}

public static Timestamp addMonth(Timestamp date, Integer num) {
Calendar calendar = addCalendar(date, num, 1);
return new Timestamp(calendar.getTime().getTime());
}

private static Calendar addCalendar(Timestamp date, int num, int field) {
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(field, num);
return calendar;
}
}

猜你喜欢

转载自www.cnblogs.com/mantianxingyu/p/9641844.html