下面是我在项目开发里常用处理时间的函数
- package analy;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Date;
- import java.util.GregorianCalendar;
- import java.util.List;
- import ctype.*;
- public class CFunctions {
- /**
- * 创建时间列表
- *
- * @param sdate, Date对象 开始时间
- * @param edate, Date对象 结束时间
- * @param dateformat, String对象 时间格式
- * @param add, Integer对象 时间间隔,单位为小时
- * @author yifangyou
- * @return String 返回urlencode后的字符串
- */
- public static List<String> makeTimes(Date sdate, Date edate,
- String dateformat, int add) {
- List<String> datelist = new ArrayList<String>();
- SimpleDateFormat bartDateFormat = new SimpleDateFormat(dateformat);
- GregorianCalendar cal = new GregorianCalendar();
- cal.setTime(sdate);
- String date = "";
- while (!sdate.after(edate)) {
- date = bartDateFormat.format(sdate);
- datelist.add(date);
- cal.add(GregorianCalendar.HOUR, add);
- sdate = cal.getTime();
- }
- return datelist;
- }
- /**
- * 创建时间列表
- *
- * @param adate, Date对象 标准时间
- * @param dateformat, String对象 时间格式
- * @param add, Integer对象 时间间隔,单位为小时
- * @author yifangyou
- * @return Date 返回增加后的日期
- */
- public static Date addTime(Date adate,int add)
- {
- GregorianCalendar cal = new GregorianCalendar();
- cal.setTime(adate);
- cal.add(GregorianCalendar.HOUR, add);
- return cal.getTime();
- }
- /**
- * 按照统一的时间格式把字符串转化为Date对象
- *
- * @param aDateStr, String对象 被格式化的日期字符串
- * @author yifangyou
- * @return Date 若格式化正确返回响应的日期类,若不正确返回null
- */
- public static Date parseDate(String aDateStr,String dateformat) {
- SimpleDateFormat bartDateFormat = new SimpleDateFormat(dateformat);
- Date t;
- try {
- t = bartDateFormat.parse(aDateStr);
- } catch (ParseException e) {
- System.out.println(e);
- t = null;
- }
- return t;
- }
- public static String listToString(List aList)
- {
- String tmp="";
- for(int i=0;i<aList.size();i++)
- {
- tmp+="'"+aList.get(i)+"',";
- }
- if(tmp.length()>0)
- tmp=tmp.substring(0,tmp.length()-1);
- return tmp;
- }
- public static String arrayToString(String[] aArray)
- {
- String tmp="";
- for(int i=0;i<aArray.length;i++)
- {
- tmp+="'"+aArray[i]+"',";
- }
- if(tmp.length()>0)
- tmp=tmp.substring(0,tmp.length()-1);
- return tmp;
- }
- public static void log(String msg)
- {
- System.out.println(formatDate(new Date(),"[yyyy-MM-dd HH:mm:ss]")+msg);
- }
- /**
- * 格式化时间
- *
- * @param adate, Date对象 被格式化的日期
- "yyyy-MM-dd HH:mm:ss"
- * @author yifangyou
- * @return String 返回格式化后的字符串
- */
- public static String formatDate(Date aDate,String dateformat) {
- SimpleDateFormat bartDateFormat = new SimpleDateFormat(dateformat);
- return bartDateFormat.format(aDate);
- }
- /**
- * 转化时间格式
- *
- * @param dateStr, Date对象 被格式化的日期
- "yyyy-MM-dd HH:mm:ss"
- * @author yifangyou
- * @return String 返回格式化后的字符串
- */
- public static String changeDateFormat(String dateStr,String formatSource,String formatDes) {
- return formatDate(parseDate(dateStr,formatSource),formatDes);
- }
- public static int getWeekDay()
- {
- int wd=(new Date()).getDay();
- if(wd==0)
- wd=7;
- return wd;
- }
- public static String get1dayago(String dateformat) {
- GregorianCalendar cal = new GregorianCalendar();
- cal.setTime(new Date());
- cal.add(GregorianCalendar.DATE, -1);
- return formatDate(cal.getTime(),dateformat);
- }
- /**
- * 格式化小数
- *
- * @param anum, 一个要被格式化的double类型数值
- * @param format, 格式化字符串 #0.00 .##
- * @author yifangyou
- * @return String 返回格式化后的字符串
- */
- public static String formatDouble(double anum,String format)
- {
- java.text.DecimalFormat df =new java.text.DecimalFormat(format);
- return df.format(anum);
- }
- }
本文转自yifangyou 51CTO博客,原文链接:http://blog.51cto.com/yifangyou/618863,如需转载请自行联系原作者