java通过年月日获取时间戳_时间戳获取(周,年,月,日)

左手的ㄟ右手 2022-10-23 00:52 632阅读 0赞

package com.aquilaflycloud.util;

import net.sf.json.JSONArray;

import java.text.ParseException;

import java.text.SimpleDateFormat;

import java.util.*;

public class DateTools {

public static void main(String[] args) {

List list=new ArrayList();

getWeekDayTime(list, 4);

// getYearDayTime(list, 4);

// getDayLast(new ArrayList(), 7);

// getDayTime(list,30);

// getYearTimeDuring(list,5);

System.out.println(JSONArray.fromObject(list).toString());

}

public static void setTimeParam(List dateBeans,int timeType,String startTime,String endTime){

switch (timeType) {

case 0: // * 0 :近7天

getDayLast(dateBeans,7);

break;

case 1: // * 1 :近1天

getDayLast(dateBeans,1);

break;

case 2: // * 2 :日统计

getDayTime(dateBeans,30);

break;

case 3: // * 3 :周统计

getWeekDayTime(dateBeans, 13);

break;

case 4: // * 4 :月统计

getYearDayTime(dateBeans, 12);

case 5: //时间段查询

DateBean bean=new DateBean();

bean.setStartTime(stringToData(startTime));

bean.setEndTime(stringToData(endTime));

bean.setStartTimeTest(0);

bean.setEndTimeTest(5);

dateBeans.add(bean);

break;

case 6: //年统计

getYearTimeDuring(dateBeans,5);

case 7: //最近30天

getDayLast(dateBeans,30);

break;

}

}

public static long stringToData(String stringDate){

String res;

SimpleDateFormat simpleDateFormat = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”);

Date date = null;

try {

// date = simpleDateFormat.parse(“2017-1-12”+” 00:00:00”);

date = simpleDateFormat.parse(stringDate+” 00:00:00”);

} catch (ParseException e) {

e.printStackTrace();

return 0;

}

return date.getTime()/1000;

}

//获取周时间戳段 (星期1:00:00:00 星期天:23:59:59)

public static void getWeekDayTime(List timeList, int count) {

SimpleDateFormat formatter = new SimpleDateFormat(“yyyy-MM-dd”);

Calendar calendar = Calendar.getInstance();

int diff = 7;

for (int n = 0; n < count; n++) {

DateBean bean = new DateBean();

calendar.setTime(new Date());

int qq= calendar.get(Calendar.DAY_OF_WEEK);

if(qq==1){

qq=-6;

}else{

qq=2-qq;

}

calendar.add(Calendar.DAY_OF_YEAR, qq- n * 7);

calendar.set(Calendar.HOUR_OF_DAY, 0);

calendar.set(Calendar.SECOND, 0);

calendar.set(Calendar.MINUTE, 0);

bean.setStartTime(calendar.getTimeInMillis() / 1000);

bean.setStartTimeTest(n * diff);

// Date monday1 = calendar.getTime();

// System.out.println(“周一:” + formatter.format(monday1) + “,时间戳:” + calendar.getTimeInMillis() / 1000);

calendar.add(Calendar.DAY_OF_YEAR, 6);

calendar.set(Calendar.HOUR_OF_DAY, 23);

calendar.set(Calendar.SECOND, 59);

calendar.set(Calendar.MINUTE, 59);

bean.setEndTime(calendar.getTimeInMillis() / 1000);

bean.setEndTimeTest(n * diff + diff);

// monday1 = calendar.getTime();

// System.out.println(“周日:” + formatter.format(monday1) + “,时间戳:” + calendar.getTimeInMillis() / 1000);

timeList.add(bean);

}

}

//获取月时间戳段 (1号:00:00:00 本月最后一号:23:59:59)

public static void getYearDayTime(List timeList, int count) {

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);

int diff = 30;

for (int i = 0; i < count; i++) {

DateBean bean = new DateBean();

//获取当前月第一天:

Calendar c = Calendar.getInstance();

c.add(Calendar.MONTH, -i);

c.set(Calendar.DAY_OF_MONTH, 1);//设置为1号,当前日期既为本月第一天

c.set(Calendar.HOUR_OF_DAY, 0);

c.set(Calendar.SECOND, 0);

c.set(Calendar.MINUTE, 0);

bean.setStartTime(c.getTimeInMillis() / 1000);

bean.setStartTimeTest(i * diff);

// String first = format.format(c.getTime());

// System.out.println(“===============first:” + first);

//获取当前月最后一天

c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));

c.set(Calendar.HOUR_OF_DAY, 23);

c.set(Calendar.SECOND, 59);

c.set(Calendar.MINUTE, 59);

bean.setEndTime(c.getTimeInMillis() / 1000);

bean.setEndTimeTest(i * diff + diff);

// String last = format.format(c.getTime());

// System.out.println(“===============last:” + last);

timeList.add(bean);

}

}

//获取最近天数的时间段 (不包括今天)

public static void getDayLast(List timeList, int day) {

SimpleDateFormat format = new SimpleDateFormat(“yyyy-MM-dd”);

DateBean dateBean = new DateBean();

Calendar c = Calendar.getInstance();

c.add(Calendar.DAY_OF_YEAR,-1);

c.set(Calendar.HOUR_OF_DAY, 23);

c.set(Calendar.SECOND, 59);

c.set(Calendar.MINUTE, 59);

dateBean.setEndTime(c.getTimeInMillis() / 1000);

dateBean.setEndTimeTest(day);

c.add(Calendar.DAY_OF_YEAR, -day);

c.set(Calendar.HOUR_OF_DAY, 0);

c.set(Calendar.SECOND, 0);

c.set(Calendar.MINUTE, 0);

dateBean.setStartTime(c.getTimeInMillis() / 1000);

dateBean.setStartTimeTest(0);

timeList.add(dateBean);

}

//获取按天统计时间戳(不包括今天)

public static void getDayTime(List timeList, int count){

for (int i=0;i

DateBean dateBean = new DateBean();

Calendar c = Calendar.getInstance();

c.add(Calendar.DAY_OF_YEAR,-i-1);

c.set(Calendar.HOUR_OF_DAY, 0);

c.set(Calendar.SECOND, 0);

c.set(Calendar.MINUTE, 0);

dateBean.setStartTime(c.getTimeInMillis() / 1000);

dateBean.setStartTimeTest(i+i);

c.set(Calendar.HOUR_OF_DAY, 23);

c.set(Calendar.SECOND, 59);

c.set(Calendar.MINUTE, 59);

dateBean.setEndTime(c.getTimeInMillis() / 1000);

dateBean.setEndTimeTest(i+1+i);

timeList.add(dateBean);

}

}

public static void getYearTimeDuring(List timeList, int count){

Calendar calendar=Calendar.getInstance();

int year=calendar.get(Calendar.YEAR);

for(int i=0;i

DateBean dateBean=new DateBean();

int y=year-i;

calendar.set(y,0,1,0,0,0);

dateBean.setStartTime(calendar.getTimeInMillis()/1000);

calendar.set(y,11,31,23,59,59);

dateBean.setEndTime(calendar.getTimeInMillis()/1000);

timeList.add(dateBean);

}

}

}

发表评论

表情:
评论列表 (有 0 条评论,632人围观)

还没有评论,来说两句吧...

相关阅读