365bet亚洲版登录-bet官网365入口

365bet亚洲版登录拥有超过百间客房,bet官网365入口的文化历经几十年的传承和积淀形成的核心内容获得业界广泛的认可,365bet亚洲版登录是目前信誉最高的娱乐场所,同国内外几百家网上内容供应商建立了合作关系。

日期处理

web开发中经常需要对日期进行操作,如字符串日期转long,long型转字符串,日期计算等,提取一个日期处理工具类,提供常见的日期操作可以让开发更轻松一些。

毫秒转字符串日期

对long型时间进行格式化在web开发中是很经常出现的一个操作,这里主要使用joda-time包内的DateTime来实现,joda-time是时间操作很好的一个工具包。

public final static String DATE_FORMAT_DEFAULT = "yyyy-MM-dd";/** * 将毫秒时间转换为yyyy-MM-dd格式的时间 * @author yangwenkui * @time 2017年10月6日 下午5:56:40 * @param time 毫秒数 * @return */public static String longToString(long time) { return longToString(time, DATE_FORMAT_DEFAULT);}/** * 将毫秒时间转换为指定格式的时间 * @author yangwenkui * @time 2017年10月6日 下午5:56:40 * @param time 毫秒数 * @param format 日期格式 * @return */public static String longToString(long time, String format) { if (StringUtils.isBlank { format = DATE_FORMAT_DEFAULT; } DateTime dTime = new DateTime; return dTime.toString;}//添加maven依赖<dependency> <groupId>joda-time</groupId> <artifactId>joda-time</artifactId></dependency>

字符串日期转毫秒

字符串日期转为毫秒值也是web开发内经常出现的一个场景,这里主要根据字符串的长度来判断其格式,进而截取字符串获取年、月、日等,再将这些值设置入calender内对应的属性上获取最终的时间。

/** * 将字符串类型的日期转换为毫秒数 * @author yangwenkui * @time 2017年10月6日 下午6:00:27 * @param dateStr * @return */public static long parseStringToLong(String dateStr) { dateStr = dateStr.trim(); if (dateStr.length() == 19 || dateStr.length { try { java.util.Calendar cal = java.util.Calendar.getInstance(); cal.set(Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring - 1, Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring; cal.set(java.util.Calendar.MILLISECOND, 0); return (cal.getTime().getTime; } catch (Exception e) { return 0; } } else if (dateStr.length { try { java.util.Calendar cal = java.util.Calendar.getInstance(); cal.set(Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring - 1, Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring; cal.set(java.util.Calendar.MILLISECOND, 0); return (cal.getTime().getTime; } catch (Exception e) { return 0; } } else if (dateStr.length { try { java.util.Calendar cal = java.util.Calendar.getInstance(); cal.set(Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring - 1, Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring; cal.set(java.util.Calendar.MILLISECOND, 0); return (cal.getTime().getTime; } catch (Exception e) { return 0; } } else if (dateStr.length() == 10 || dateStr.length { try { java.util.Calendar cal = java.util.Calendar.getInstance(); cal.set(Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring - 1, Integer.parseInt(dateStr.substring, 0, 0, 0); cal.set(java.util.Calendar.MILLISECOND, 0); return (cal.getTime().getTime; } catch (Exception e) { return 0; } } else if (dateStr.length { try { java.util.Calendar cal = java.util.Calendar.getInstance(); cal.set(Integer.parseInt(dateStr.substring, Integer.parseInt(dateStr.substring - 1, Integer.parseInt(dateStr.substring, 0, 0, 0); cal.set(java.util.Calendar.MILLISECOND, 0); return (cal.getTime().getTime; } catch (Exception e) { return 0; } } else { try { return Long.parseLong; } catch (Exception e) { return 0; } }}

获取指定日期前后N天的日期

日期计算偶尔也会出现,这里主要通过java.util.Calendar类来实现,Calendar提供了良好的接口,可以方便的获取年、月、日、时、分、秒、周等,也可以对应的设置指定属性的值,是很方便的日期计算工具。

/** * 获取指定日期前后num天的日期 * @author yangwk * @time 2017年9月14日 上午11:13:18 * @param date * @param num 正数 多少天之后的日期 负数 多少天之后的日期 * @return */public static String getDay(String date,int num){ return getDay(date, num,DATE_FORMAT_DEFAULT);}/** * 获取指定日期前后num天的日期 * @author yangwk * @time 2017年9月14日 上午11:13:18 * @param date * @param num 正数 多少天之后的日期 负数 多少天之后的日期 * @param format 日期格式 * @return */public static String getDay(String date,int num,String format){ long t = parseStringToLong; return getDay(t, num, DATE_FORMAT_DEFAULT);}/** * 获取指定日期前后num天的日期 * @author yangwk * @time 2017年9月14日 上午11:13:18 * @param date * @param num 正数 多少天之后的日期 负数 多少天之后的日期 * @return */public static String getDay(long date,int num){ return getDay(date, num, DATE_FORMAT_DEFAULT);}/** * 获取指定日期前后num天的日期 * @author yangwk * @time 2017年9月14日 上午11:13:18 * @param date * @param num 正数 多少天之后的日期 负数 多少天之后的日期 * @param format 日期格式 * @return */public static String getDay(long date,int num,String format){ Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis; calendar.set(Calendar.DAY_OF_MONTH, calendar.get(Calendar.DAY_OF_MONTH)+num); return longToString(calendar.getTimeInMillis;}

小结

web开发内,提取常用工具类,不断丰富开发工具包是很有意义的事,不用同样的事情自己或其他同事重复开发很多次。本文列出了比较常用的long型时间格式化、string类型时间转为long型毫秒数及日期计算的方法。可以基于joda-time包和calendar提前自己常用的攻击方法。

完整代码请在github内rest-base项目内查看。

本文由365bet亚洲版登录发布于计算机网络,转载请注明出处:日期处理

您可能还会对下面的文章感兴趣: