当前位置: 首页 > news >正文

有没有做字的网站/什么是seo标题优化

有没有做字的网站,什么是seo标题优化,网页免费模板大全,html手机网站怎么做小记Java时间工具类 废话不多说,这里主要记录以下几个工具 两个时间只差(Data)获取时间的格式 格式化时间 返回String两个时间只差(String)获取两个时间之间的日期、月份、年份获取给定日期之前会之后的日期忽略年月日…

小记Java时间工具类

  废话不多说,这里主要记录以下几个工具

  • 两个时间只差(Data)
  • 获取时间的格式 格式化时间 返回String
  • 两个时间只差(String)
  • 获取两个时间之间的日期、月份、年份
  • 获取给定日期之前会之后的日期
  • 忽略年月日,仅比较两个时分之间的差 单位分钟  
  • 获取两个时间的间隔天数(忽略了时分秒) 0 则都是当天的 》1 则是跨天  计算收费专用
  • 获取两个时间段内的分段集合 计费专用
  • 判断两个时间区间是否有交集

  以下是代码块,不足之处还望留言指正,万分感谢。

  

package com.ftwj.parking.utils;import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;import org.apache.commons.lang.StringUtils;public class DateUtils {/*** 两个时间只差* @param startDate* @param endDate* @return 分钟*/public static Integer getBetweenMinutes(Date startDate, Date endDate) {Integer minutes = 0;try {if(startDate!=null&&endDate!=null) {long ss = 0;if(startDate.before(endDate)) {ss = endDate.getTime() - startDate.getTime();}else {ss = startDate.getTime() - endDate.getTime();}minutes = Integer.valueOf((int) (ss/(60*1000))) ;}} catch (Exception e) {e.printStackTrace();}return minutes;}/**   * @Title: getDatFormat    获取时间的格式 格式化时间 返回String* @Description:    * @param: @param date 日期 * @param: @param dateFormat 魔板* @param: @return* @throws  包福平      * @return: String       */public static String getDatFormat(Date date, String dateFormat) {try {SimpleDateFormat format = new SimpleDateFormat(dateFormat);return format.format(date);} catch (Exception e) {e.printStackTrace();SimpleDateFormat format = new SimpleDateFormat("YYYY-MM-DD");return format.format(new Date());}}/*** 两个时间只差* @param startDate* @param endDate* @return 分钟*/public static Integer getBetweenMinutes(String a, String b) {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");Date startDate;Date endDate;try {startDate = format.parse(a);endDate = format.parse(b);try {long ss = 0;if(startDate.before(endDate)) {ss = endDate.getTime() - startDate.getTime();}else {ss = startDate.getTime() - endDate.getTime();}return Integer.valueOf((int) (ss/(60*1000))) ;} catch (Exception e) {e.printStackTrace();return 0;}} catch (ParseException e1) {e1.printStackTrace();return 0;}}/*** 获取两个时间之间的日期、月份、年份* @param beginDate* @param endDate* @param type{1:日期,2:月份,其他:年份}* @return*/public static List<String> getBetweenDates(String startDate, String endDate, Integer type) {SimpleDateFormat format= null; Date begin = null;Date end = null;Integer obj = null;Integer flag = null;if(type!=null&&type==1){format = new SimpleDateFormat("yyyy-MM-dd");obj = Calendar.DAY_OF_YEAR;flag = 9;}else if(type!=null&&type==2){format = new SimpleDateFormat("yyyy-MM"); obj = Calendar.MONTH;flag = 11;}else{format = new SimpleDateFormat("yyyy");obj = Calendar.YEAR;flag = 9;}if(StringUtils.isNotEmpty(startDate)&&StringUtils.isNotEmpty(endDate)){try {begin = format.parse(startDate);end = format.parse(endDate);} catch (ParseException e) {e.printStackTrace();}}else{end = new Date();begin = getDateBefore(end,flag,obj);}List<String> result = new ArrayList<String>();Calendar tempStart = Calendar.getInstance();tempStart.setTime(begin);while (begin.getTime() <= end.getTime()) {result.add(format.format(tempStart.getTime()));tempStart.add(obj, 1);begin = tempStart.getTime();}return result;}/*** 获取两个时间之间的日期、月份、年份* @param date{YYYY-MM-DD-YYYY-MM-DD}* @param type{1:日期,2:月份,其他:年份}* @return*/public static List<String> getBetweenDates(String date,Integer type) {SimpleDateFormat format= null; Date begin = null;Date end = null;Integer obj = null;String startDate = null;String endDate = null;Integer flag = null;if(type!=null&&type==1){format = new SimpleDateFormat("yyyy-MM-dd");obj = Calendar.DAY_OF_YEAR;flag = 9;}else if(type!=null&&type==2){format = new SimpleDateFormat("yyyy-MM"); obj = Calendar.MONTH;flag = 11;}else{format = new SimpleDateFormat("yyyy");obj = Calendar.YEAR;flag = 9;}if(StringUtils.isNotEmpty(date)){startDate = date.substring(0, 10);endDate = date.substring(date.length()-10, date.length());try {begin = format.parse(startDate);end = format.parse(endDate);} catch (ParseException e) {e.printStackTrace();}}else{end = new Date();begin = getDateBefore(end,flag,obj);}List<String> result = new ArrayList<String>();Calendar tempStart = Calendar.getInstance();tempStart.setTime(begin);while (begin.getTime() <= end.getTime()) {result.add(format.format(tempStart.getTime()));tempStart.add(obj, 1);begin = tempStart.getTime();}return result;}public static Date getDateBefore(Date d, int day,Integer type) {Calendar now = Calendar.getInstance();now.setTime(d);now.set(type, now.get(type) - day);return now.getTime();}/*** 获取给定日期之前会之后的日期* @param date * @param type* @param num* @return*/public static String getPreviouslyDate(Date date, String type, Integer num) {SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");String resultDate = "";Calendar c = Calendar.getInstance();c.setTime(date);try {switch (type) {case "day":c.add(Calendar.DATE, num);break;case "month":c.add(Calendar.MONTH, num);break;case "year":c.add(Calendar.YEAR, num);break;default:c.add(Calendar.DATE, 0);break;}	Date d = c.getTime();resultDate = format.format(d);return resultDate;} catch (Exception e) {e.printStackTrace();return null;}}/**   * @Title: 忽略年月日,仅比较两个时分之间的差 单位分钟   * @Description:    * @param: @param a* @param: @param b* @param: @return* @throws 包福平       * @return: Integer       */public static Integer changeYMDtoEqual(Date a,Date b) {if(null==a||null==b) {return null;}String ymd=getDatFormat(new Date(), "yyyy-MM-dd");String tmpa=ymd+" "+getDatFormat(a, "HH:mm:ss");String tmpb=ymd+" "+getDatFormat(b, "HH:mm:ss");return getBetweenMinutes(tmpa, tmpb);}/**   * @Title: getBetweenDay   获取两个时间的间隔天数(忽略了时分秒) 0 则都是当天的 》1 则是跨天  计算收费专用* @Description:     * @param: @param startTime* @param: @param endTime* @param: @return* @param: @throws ParseException* @throws 包福平       * @return: Integer       */public static Integer getBetweenDay(Date startDate,Date endDate) throws ParseException {
//		SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");//跨年的情况会出现问题哦//如果时间为:2016-03-18 11:59:59 和 2016-03-19 00:00:01的话差值为 1Calendar aCalendar = Calendar.getInstance();aCalendar.setTime(startDate);int day1 = aCalendar.get(Calendar.DAY_OF_YEAR);aCalendar.setTime(endDate);int day2 = aCalendar.get(Calendar.DAY_OF_YEAR);int days=day2-day1;return days;}/**   * @Title: getDayDetailsBetweenDates   * @Description:  获取两个时间段内的分段集合 计费专用* 例子:  String startTime="2019-01-12 7:30:33";String endTime="2019-01-14 7:30:34";结果2019-01-12 07:30:33----2019-01-13 00:00:002019-01-13 00:00:00----2019-01-14 00:00:002019-01-14 00:00:00----2019-01-14 07:30:34* @param: @param startDate* @param: @param endDate* @param: @return* @param: @throws ParseException* @throws 包福平       * @return: List<Map<String,Date>>       */public static List<Map<String,Date>> getDayDetailsBetweenDates(Date startDate,Date endDate) throws ParseException{Integer days=getBetweenDay(startDate, endDate);SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");List<Map<String,Date>> list= new ArrayList<Map<String,Date>>();for (int i = 0; i <= days; i++) {System.out.println(i);Map<String,Date>  map = new HashMap<String,Date>();if(i==0) {map.put("start", startDate);}else {map.put("start", sdf.parse(getPreviouslyDate(startDate, "day", i)+" 00:00:00"));}if(i==days) {map.put("end", endDate);}else {map.put("end", sdf.parse(getPreviouslyDate(startDate, "day", i+1)+" 00:00:00"));}list.add(map);}return list;}/**   * @Title: getIntersectionDate   先进行排序,然后去中间的两个Date 判断此两端分钟数是否相等 不等则取到这个的交集* @Description: 判断两个时间区间是否有交集  有 则返回交集部分 无则null   网上的一坨屎,自己写吧 * @param: @param bt 开始1* @param: @param ot 结束1 * @param: @param st 开始2* @param: @param ed 结束2 * @param: @return* @throws 包福平       * @return: List<Date>       */public static List<Date> getIntersectionDate(Date bt,Date ot,Date st,Date ed) {try {//去除直接没有任何交集的部分if(bt.after(ed)||ot.before(st)) {return null;}List<Date> returnList = new ArrayList<Date>();List<Date> list = new ArrayList<Date>();list.add(bt);list.add(ot);list.add(st);list.add(ed);Collections.sort(list);if(list.get(1).compareTo(list.get(2))!=0&&(bt.before(ed))) {SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");System.out.println("包含的开始时间是:" + sdf.format(list.get(1)) + "-结束时间是:" + sdf.format(list.get(2)));returnList.add(list.get(1));returnList.add(list.get(2));}return returnList;} catch (Exception e) {e.printStackTrace();}return null;}public static void main(String[] args) throws ParseException{
//		String startTime="2019-01-12 7:30:33";
//		String endTime="2019-01-14 7:30:34";SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//		Date startDate=sdf.parse(startTime);
//		Date endDate=sdf.parse(endTime);
//		List<Map<String,Date>> list= getDayDetailsBetweenDates(startDate, endDate);
//		
//		for (Map<String, Date> map : list) {
//			System.out.println(sdf.format(map.get("start"))+"----"+sdf.format(map.get("end")));
//		}//		// 标准时间Date startTime = sdf.parse("2019-01-13 00:00:00");//startTime Date endTime = sdf.parse("2019-01-14 00:00:00");//endTime // 目标时间Date start = sdf.parse("2019-01-13 07:30:00");//startDate end = sdf.parse("2019-01-13 10:00:00");//endgetIntersectionDate(startTime, endTime, start, end);}
}

  

 

转载于:https://www.cnblogs.com/angusbao/p/10678006.html

http://www.jmfq.cn/news/5172661.html

相关文章:

  • 大型网站域名/网站性能优化的方法有哪些
  • 网站源码上传教程/培训机构不退钱最怕什么举报
  • 重庆装修工人接单平台/seo案例模板
  • 如何做百度竞价推广/seo少女
  • 延安市住建建设网站/百度推广多少钱
  • 哇哈哈电子商务网站建设策划书/搜索引擎营销特点
  • wordpress导航模板下载地址/推广网站seo
  • 做酒吧设计的网站/百度推广退款电话
  • 移动网站开发面试/crm系统
  • 浙江省国有建设用地使用权建议网站/效果最好的推广软件
  • 做的比较早的海淘网站/湖南网站制作公司
  • 深圳网站设计制作/免费python在线网站
  • 当地做网站贵/文章优化关键词排名
  • ui设计分析案例/在线seo外链工具
  • 网站开发代理/电商seo搜索优化
  • 网站建设绩效考核表/seo优化工作怎么样
  • 郑州网站制作公司怎么样/新塘网站seo优化
  • 做招聘求职网站/公众号软文怎么写
  • 淘宝网站做阳光棚多少钱一平米/郑州网站运营实力乐云seo
  • 企业做网站的概要/推广赚佣金
  • 做网站baidunongmin/网络运营seo是什么
  • 电子商务网站建设和运营/百度下载安装2021
  • 武汉专业做网站/百度推广代理商查询
  • 微信开发 网站备案吗/运营商大数据精准营销获客
  • 天津b2b网站建设公司怎么做/查淘宝关键词排名软件
  • 互联网营销策略有哪些/seo sem什么意思
  • 网站建站 公司/代写文案的软件
  • 网站程序复制/合肥seo建站
  • 莱芜专注搜狗推广/seo关键词排名优化技巧
  • 主要网站维护软件/杭州seo网站建设