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,如需转载请自行联系原作者


相关文章
|
Java
java判断当前时间是否在某个时间区间内(可精确到毫秒)
java判断当前时间是否在某个时间区间内(可精确到毫秒)
680 0
java判断当前时间是否在某个时间区间内(可精确到毫秒)
|
算法 搜索推荐 Java
线性时间选择(Top K)问题(Java)
线性时间选择(Top K)问题(Java)
198 0
线性时间选择(Top K)问题(Java)
|
Java
Java中格林尼治时间和时间戳的相互转换
Java中格林尼治时间和时间戳的相互转换
673 0
Java将CST的时间字符串转换成需要的日期格式字符串
Java将CST的时间字符串转换成需要的日期格式字符串
|
Java
java时间换算(BJU转UTC)
UTC是世界协调时,BJT是北京时间,UTC时间相当于BJT减去8。现在,你的程序要读入一个整数,表示BJT的时和分。整数的个位和十位表示分,百位和千位表示小时。如果小时小于10,则没有千位部分;如果小时是0,则没有百位部分;如果分小于10分,需要保留十位上的0。如1124表示11点24分,而905表示9点5分,36表示0点36分,7表示0点7分。
215 0
java时间换算(BJU转UTC)
JAVA 实现五种基本排序方法的实现以及时间的统计
JAVA 实现五种基本排序方法的实现以及时间的统计
java获取时间间隔,获取当天每隔15分钟的时间
Java开发中日常遇到的关于时间的问题
java获取时间间隔,获取当天每隔15分钟的时间
|
Java
java获取这周的开始时间
java获取这周的开始时间
236 0
|
Java 程序员
Java中如何处理时间--Date类
在实际业务中,总会碰到关于时间的问题,例如收集当年的第一季度的数据。第一季度也就是当年的一月一日到三月三十一日。如何处理时间的逻辑,如果用字符串去处理显然不可以,Java有专门的处理时间的类,在此记录一下。Date 类有如下两个构造方法。Date():此种形式表示分配 Date 对象并初始化此对象,以表示分配它的时间(精确到毫秒),使用该构造方法创建的对象可以获取本地的当前时间。
152 0
Java中如何处理时间--Date类