java常用时间函数

下面是我在项目开发里常用处理时间的函数

 


  1. package analy;  
  2.  
  3. import java.text.ParseException;  
  4. import java.text.SimpleDateFormat;  
  5. import java.util.ArrayList;  
  6. import java.util.Date;  
  7. import java.util.GregorianCalendar;  
  8. import java.util.List;  
  9. import ctype.*;  
  10. public class CFunctions {  
  11.       
  12.     /**  
  13.      * 创建时间列表  
  14.      *  
  15.      * @param sdate,   Date对象 开始时间  
  16.      * @param edate,   Date对象 结束时间  
  17.      * @param dateformat,   String对象 时间格式  
  18.      * @param add,   Integer对象 时间间隔,单位为小时  
  19.      * @author yifangyou  
  20.      * @return String  返回urlencode后的字符串     
  21.      */ 
  22.     public static List<String> makeTimes(Date sdate, Date edate,  
  23.             String dateformat, int add) {  
  24.         List<String> datelist = new ArrayList<String>();  
  25.         SimpleDateFormat bartDateFormat = new SimpleDateFormat(dateformat);  
  26.         GregorianCalendar cal = new GregorianCalendar();  
  27.         cal.setTime(sdate);  
  28.         String date = "";  
  29.         while (!sdate.after(edate)) {  
  30.             date = bartDateFormat.format(sdate);  
  31.             datelist.add(date);  
  32.             cal.add(GregorianCalendar.HOUR, add);  
  33.             sdate = cal.getTime();  
  34.         }  
  35.         return datelist;  
  36.     }  
  37.       
  38.     /**  
  39.      * 创建时间列表  
  40.      *  
  41.      * @param adate,   Date对象 标准时间  
  42.      * @param dateformat,   String对象 时间格式  
  43.      * @param add,   Integer对象 时间间隔,单位为小时  
  44.      * @author yifangyou  
  45.      * @return Date  返回增加后的日期    
  46.      */ 
  47.     public static Date addTime(Date adate,int add)   
  48.     {  
  49.         GregorianCalendar cal = new GregorianCalendar();  
  50.         cal.setTime(adate);  
  51.         cal.add(GregorianCalendar.HOUR, add);  
  52.         return cal.getTime();  
  53.     }  
  54.     /**  
  55.      * 按照统一的时间格式把字符串转化为Date对象  
  56.      *  
  57.      * @param aDateStr,   String对象 被格式化的日期字符串  
  58.      * @author yifangyou  
  59.      * @return Date  若格式化正确返回响应的日期类,若不正确返回null    
  60.      */ 
  61.     public static Date parseDate(String aDateStr,String dateformat) {  
  62.         SimpleDateFormat bartDateFormat = new SimpleDateFormat(dateformat);  
  63.         Date t;  
  64.         try {  
  65.             t = bartDateFormat.parse(aDateStr);  
  66.         } catch (ParseException e) {  
  67.             System.out.println(e);  
  68.             t = null;  
  69.         }  
  70.         return t;  
  71.     }  
  72.       
  73.     public static String listToString(List aList)  
  74.     {  
  75.         String tmp="";  
  76.         for(int i=0;i<aList.size();i++)  
  77.         {  
  78.             tmp+="'"+aList.get(i)+"',";  
  79.         }  
  80.         if(tmp.length()>0)  
  81.         tmp=tmp.substring(0,tmp.length()-1);  
  82.         return tmp;  
  83.     }  
  84.       
  85.     public static String arrayToString(String[] aArray)  
  86.     {  
  87.         String tmp="";  
  88.         for(int i=0;i<aArray.length;i++)  
  89.         {  
  90.             tmp+="'"+aArray[i]+"',";  
  91.         }  
  92.         if(tmp.length()>0)  
  93.         tmp=tmp.substring(0,tmp.length()-1);  
  94.         return tmp;  
  95.     }  
  96.       
  97.     public static void log(String msg)  
  98.     {  
  99.         System.out.println(formatDate(new Date(),"[yyyy-MM-dd HH:mm:ss]")+msg);  
  100.     }  
  101.       
  102.     /**  
  103.      * 格式化时间  
  104.      *  
  105.      * @param adate,   Date对象 被格式化的日期  
  106.  "yyyy-MM-dd HH:mm:ss"  
  107.      * @author yifangyou  
  108.      * @return String  返回格式化后的字符串    
  109.      */ 
  110.     public static String formatDate(Date aDate,String dateformat) {  
  111.         SimpleDateFormat bartDateFormat = new SimpleDateFormat(dateformat);  
  112.         return bartDateFormat.format(aDate);  
  113.     }  
  114.     /**  
  115.      * 转化时间格式  
  116.      *  
  117.      * @param dateStr,   Date对象 被格式化的日期  
  118.  "yyyy-MM-dd HH:mm:ss"  
  119.      * @author yifangyou  
  120.      * @return String  返回格式化后的字符串    
  121.      */ 
  122.     public static String changeDateFormat(String dateStr,String formatSource,String formatDes) {  
  123.         return formatDate(parseDate(dateStr,formatSource),formatDes);  
  124.     }  
  125.    
  126.       
  127.     public static int getWeekDay()  
  128.     {  
  129.         int wd=(new Date()).getDay();  
  130.         if(wd==0)  
  131.             wd=7;  
  132.         return wd;  
  133.     }  
  134.     public static String get1dayago(String dateformat) {  
  135.         GregorianCalendar cal = new GregorianCalendar();  
  136.         cal.setTime(new Date());  
  137.         cal.add(GregorianCalendar.DATE, -1);  
  138.         return formatDate(cal.getTime(),dateformat);  
  139.     }   
  140.     /**  
  141.      * 格式化小数  
  142.      *  
  143.      * @param anum,        一个要被格式化的double类型数值  
  144.      * @param format,      格式化字符串  #0.00 .##  
  145.      * @author yifangyou  
  146.      * @return String  返回格式化后的字符串     
  147.      */ 
  148.     public static String formatDouble(double anum,String format)  
  149.     {  
  150.         java.text.DecimalFormat df =new java.text.DecimalFormat(format);  
  151.         return df.format(anum);  
  152.     }   
  153.       
  154.       
  155. }  

 

     本文转自yifangyou 51CTO博客,原文链接:http://blog.51cto.com/yifangyou/618863,如需转载请自行联系原作者


上一篇:如何将类序列化并直接存储入数据库


下一篇:批处理设置IP地址 - imsoft.cnblogs