获取当前日期往后一周的日期,时间截取
2017-11-29 15:24
513 查看
挺low的代码orz:
public class DateUtil { private static int mYear; //当前年 private static int mMonth; //当前月 private static int mDay; private static int mWeek; private static int dayAmount = 6;//往后天数 //获取当前日期往后一周的时间 public static List<String> getNextSevenData() { List<String> dates = new ArrayList<>(); final Calendar c = Calendar.getInstance(); c.setTimeZone(TimeZone.getTimeZone("GMT+8:00")); int maxDay = c.getActualMaximum(Calendar.DATE);//该月最大天数 mYear = c.get(Calendar.YEAR);// 获取当前年份 mMonth = c.get(Calendar.MONTH) + 1;// 获取当前月份 mDay = c.get(Calendar.DAY_OF_MONTH); mWeek = c.get(Calendar.DAY_OF_WEEK); //当天 String date = mYear + "-" + mMonth + "-" + mDay; dates.add(date); //往后6天 for (int i = 0; i < dayAmount; i++) { if (mDay + 1 > maxDay) { //超过最大天数 if (mMonth + 1 > 12) {//该年最后一个月 mYear = mYear + 1; mMonth = 1; } else { mMonth = mMonth + 1; } mDay = 1; } else { mDay = mDay + 1; } date = mYear + "-" + mMonth + "-" + mDay; dates.add(date); } return dates; } //根据当前时间 分割时间段 获取时间列表 public static List<String> getTimeList(int intervalTime, String date) { List<String> timeList = new ArrayList<>(); int intervaTimestamp = intervalTime * 60 * 1000;//间隔多少分钟的时间戳 String pattern = "yyyy-MM-dd HH:mm";//时间格式 yyyy-MM-dd HH:mm:ss yyyy-MM-dd yyyy年MM月dd日 HH时mm分ss秒 yyyy年MM月dd日等 String startTime = date + " " + "09:00:00";//开始时间 "样式如2017-11-11 11:11:11" String finalTime = date + " " + "21:00:00";//结束时间 String currentTime = getCurDate(pattern);//当前时间 long startTimestamp = getStringToDate(startTime, pattern); long finalTimestamp = getStringToDate(finalTime, pattern); long currentTimestamp = getStringToDate(currentTime, pattern); int times = (int) (finalTimestamp - startTimestamp) / intervaTimestamp;//有多少间隔 for (int i = 0; i <= times; i++) { if (startTimestamp >= currentTimestamp) { timeList.add(getDateToString(startTimestamp, pattern)); } startTimestamp = startTimestamp + intervaTimestamp;//当前时间 向后推移时间段 } return timeList; } //获取当前系统时间 public static String getCurDate(String pattern) { SimpleDateFormat sDateFormat = new SimpleDateFormat(pattern); return sDateFormat.format(new java.util.Date()); } //根据时间戳 返回日期 public static String getDateToString(long milSecond, String pattern) { Date date = new Date(milSecond); SimpleDateFormat format = new SimpleDateFormat(pattern); return format.format(date); } //根据日期及格式 返回时间戳 public static long getStringToDate(String dateString, String pattern) { SimpleDateFormat dateFormat = new SimpleDateFormat(pattern); Date date = new Date(); try { date = dateFormat.parse(dateString); } catch (ParseException e) { // TODO Auto-generated catch block e.printStackTrace(); } return date.getTime(); } }
运行:
//当前时间为 "2017-11-30 11:43:45"
DateUtil.getTimeList(30,"2017-11-30");
DateUtil.getTimeList(30,"2018-11-30");
结果:
参考链接
相关文章推荐
- 当前日期时间的获取和字符串的截取拼接前、替换 。。。
- java获取当前时间所在一周的周一和周日日期
- C#字符串截取、获取当前电脑时间、判断输入日期对错 随手记
- java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月
- java获取当前时间所在一周的周一和周日日期
- SQL获取当前时间| 日期| SQL时间格式| SQL时间截取| getdate()用法
- java获取本月开始时间和结束时间、上个月第一天和最后一天的时间以及当前日期往前推一周、一个月
- Android 中日期的获取 获取往后 一周的时间
- Swift教程_基础技术(0002)_获取当前日期时间、日期时间格式化及转换
- Java:获取当前日期、时间、星期几
- PHP获取当前时间、时间戳的各种格式写法汇总[日期时间]
- 获取当前时间日期并格式化--JS
- javaScript获取当前时间、日期、月份、季度等
- Js获取当前日期时间及其它操作
- php获取当前日期时间
- JS代码获取当前日期时支持IE,不兼容FF和chrome,解决这个问题,我们需要把获取时间的getYear()函数换成getFullYear()
- MFC 获取当前时间的星期,以及这周星期一日期和星期日日期
- JS获取当前日期时间并定时刷新示例
- java中获取当前系统时间,日期并格式化输出
- Js获取当前日期时间及其它操作