package com.hehenian.biz.common.util; import java.util.Calendar; import java.util.Date; import java.util.Random; import java.text.SimpleDateFormat; import java.text.DateFormat; /* * *类名:UtilDate *功能:自定义订单类 *详细:工具类,可以用作获取系统日期、订单编号等 *版本:3.2 *日期:2011-03-17 *说明: *以下代码只是为了方便商户测试而提供的样例代码,商户可以根据自己网站的需要,按照技术文档编写,并非一定要使用该代码。 *该代码仅供学习和研究支付宝接口使用,只是提供一个参考。 */ public class UtilDate { /** 年月日时分秒(无下划线) yyyyMMddHHmmss */ public static final String dtLong = "yyyyMMddHHmmss"; /** 完整时间 yyyy-MM-dd HH:mm:ss */ public static final String simple = "yyyy-MM-dd HH:mm:ss"; /** 年月日(无下划线) yyyyMMdd */ public static final String dtShort = "yyyyMMdd"; /** 年月日(下划线) yyyy-MM-dd */ public static final String _dtShort = "yyyy-MM-dd"; public static final String year ="yyyy"; /** * 返回系统当前时间(精确到毫秒),作为一个唯一的订单编号 * * @return 以yyyyMMddHHmmss为格式的当前系统时间 */ public static String getOrderNum() { Date date = new Date(); DateFormat df = new SimpleDateFormat(dtLong); return df.format(date); } /** * 获取系统当前日期(精确到毫秒),格式:yyyy-MM-dd HH:mm:ss * * @return */ public static String getDateFormatter() { Date date = new Date(); DateFormat df = new SimpleDateFormat(simple); return df.format(date); } /** * 获取系统当期年月日(精确到天),格式:yyyyMMdd * * @return */ public static String getDate() { Date date = new Date(); DateFormat df = new SimpleDateFormat(dtShort); return df.format(date); } /** * 产生随机的三位数 * * @return */ public static String getThree() { Random rad = new Random(); return rad.nextInt(1000) + ""; } /** * @MethodName: getMonthFirstDay * @Param: UtilDate * @Author: gang.lv * @Date: 2013-3-22 下午07:14:34 * @Return: * @Descb: 获取当月的第一天 * @Throws: */ public static String getMonthFirstDay() { Calendar cal = Calendar.getInstance(); Calendar f = (Calendar) cal.clone(); f.clear(); f.set(Calendar.YEAR, cal.get(Calendar.YEAR)); f.set(Calendar.MONTH, cal.get(Calendar.MONTH)); String firstday = new SimpleDateFormat("yyyy-MM-dd") .format(f.getTime()); firstday = firstday +" 00:00:00"; return firstday; } /** * @MethodName: getMonthLastDay * @Param: UtilDate * @Author: gang.lv * @Date: 2013-3-22 下午07:14:41 * @Return: * @Descb: 获取当月的最后一天 * @Throws: */ public static String getMonthLastDay() { Calendar cal = Calendar.getInstance(); Calendar l = (Calendar) cal.clone(); l.clear(); l.set(Calendar.YEAR, cal.get(Calendar.YEAR)); l.set(Calendar.MONTH, cal.get(Calendar.MONTH) + 1); l.set(Calendar.MILLISECOND, -1); String lastday = new SimpleDateFormat("yyyy-MM-dd").format(l.getTime()); lastday = lastday+" 23:59:59"; return lastday; } /** * @MethodName: getYesterDay * @Param: UtilDate * @Author: gang.lv * @Date: 2013-4-14 上午01:22:46 * @Return: * @Descb: 获取昨天日期 * @Throws: */ public static Date getYesterDay(){ Date date = new Date(); Calendar calendar = Calendar.getInstance(); calendar.setTime(date); calendar.add(Calendar.DATE,-1);//把日期往后增加一天.整数往后推,负数往前移动 return calendar.getTime(); } /** * 两日期之间的天数差 * @param minuendDate 被减数 * @param subtrahendDate 减数 * @return */ public static int diffDate(Date minuendDate, Date subtrahendDate ){ long diff = minuendDate.getTime() - subtrahendDate.getTime(); return (int) diff/(360*24*60); } }