com.seeyon.ctp.util
类 Datetimes

java.lang.Object
  继承者 com.seeyon.ctp.util.Datetimes

public final class Datetimes
extends java.lang.Object

日期操作

  e.g
  将字符串转成日期
  Datetimes.parseDate("2005-01-21")   = Fri Jan 21 00:00:00 CST 2005
  Datetimes.parseDatetime("2005-01-21 12:04:33") = Fri Jan 21 00:00:00 CST 2005
  
  将日期格式化输出
  Datetimes.formatDate(new Date()) = 2007-03-19
  Datetimes.formatDatetime(new Date()) =2007-03-19 11:18:14
      
  取得特殊日期
  1     得到指定日期所在周的第一天的日期
  java.util.Date  date = Datetimes.getFirstDayInWeek(date);
 
  2     得到指定日期所在周的周末的日期
  java.util.Date  date = Datetimes.getLastDayInWeek(date);
 
  3     得到指定日期所在月的第一天的日期
  java.util.Date  date = Datetimes.getFirstDayInMonth(date);
 
  4     得到指定日期所在月的最后一天的日期
  java.util.Date  date = Datetimes.getLastDayInMonth(date);
 
  5     得到指定日期所在季度的第一天的日期
  java.util.Date  date = Datetimes.getFirstDayInSeason(date);
 
  6     得到指定日期所在季度的最后一天的日期
  java.util.Date  date = Datetimes.getLastDayInSeason(date);
 
  7     得到指定日期所在年度的第一天的日期
  java.util.Date  date = Datetimes.getFirstDayInYear(date);
 
  8     得到指定日期所在年度的最后一天的日期
  java.util.Date  date = Datetimes.getLastDayInYear(date);
  
  9     取得下一个周期的时间
  Datetimes.getNextPeriodMinute(new Date(), 30, true)
 
 

版本:
1.0 2006-10-8
作者:
Tanmf

字段摘要
static java.lang.String dateStyle
           
static java.lang.String dateStyleWithoutYear
           
static java.lang.String datetimeStartWithMonthStyle
           
static java.lang.String datetimeStyle
           
static java.lang.String datetimeWithoutSecondStyle
           
 
构造方法摘要
Datetimes()
           
 
方法摘要
static java.util.Date addDate(java.util.Date date, int amount)
          在指定的日期基础上移动天数,月份、年份自动变化 e.g Datetimes.addDate(new Date(), -1) = 昨天 Datetimes.addDate(new Date(), 1) = 明天
static java.util.Date addHour(java.util.Date date, int amount)
          在指定的日期基础上移动小时数,日、月、年自动变化,采用24小时制
static java.util.Date addMinute(java.util.Date date, int amount)
          在指定的日期基础上移动分数,时、日、月、年自动变化
static java.util.Date addMonth(java.util.Date date, int amount)
          在指定的日期基础上移动月份,年份自动变化
static java.util.Date addSecond(java.util.Date date, int amount)
          在指定的日期基础上移动秒数,分、时、日、月、年自动变化
static java.util.Date addYear(java.util.Date date, int amount)
          在指定的日期基础上移动年份
static boolean between(java.util.Date checkupDate, java.util.Date startDate, java.util.Date endDate, boolean isIncludeBorderline)
          检测时间点是否在时间段之内
e.g.
static boolean checkOverup(java.util.Date startDate1, java.util.Date endDate1, java.util.Date startDate2, java.util.Date endDate2, boolean allowIncludeBorderline)
          判断两个时间段是否有叠加
e.g.
static java.util.Date conversionToServerDate(java.util.Date localDate, java.util.TimeZone localZone)
          将地区的时间转换成服务器的时间 服务器在GMT+08:00 东8区 conversionToServerDate(Date(2007-06-29 17:20:27), TimeZone.getTimeZone("GMT+09:00")) : 2007-06-29 16:20:27 conversionToServerDate(Date(2007-06-29 17:20:27), TimeZone.getTimeZone("GMT+00:00")) : 2007-06-30 01:20:27
static long[] detailInterval(java.util.Date theDay, java.util.Date otherDay)
          计算日期详细时间间隔
static java.lang.String format(java.util.Date date, java.lang.String pattern)
          将日期转成字符串, 指定显示格式,使用当前登录者所在时区和语言
static java.lang.String format(java.util.Date date, java.lang.String pattern, java.util.Locale locale)
          将日期转成字符串, 指定显示格式
static java.lang.String format(java.util.Date date, java.lang.String pattern, java.util.TimeZone timeZone)
          将日期转成字符串, 指定显示格式,并转换成指定区域的时区,如果不采用时区,即用TimeZone.getDefault()
static java.lang.String format(java.util.Date date, java.lang.String pattern, java.util.TimeZone zone, java.util.Locale locale)
          将日期转成字符串, 指定显示格式
static java.lang.String formatDate(java.util.Date date)
          将日期转成字符串,格式为yyyy-MM-dd,使用当前登录者所在时区和语言
static java.lang.String formatDateOrDatetime(java.util.Date date)
          格式化为日期或者日期+时间, 判别依据是:时、分、秒、毫秒都为0
static java.lang.String formatDatetime(java.util.Date datetime)
          将日期转成字符串,格式为yyyy-MM-dd HH:mm:ss,使用当前登录者所在时区和语言
static java.lang.String formatDatetimeWithoutSecond(java.util.Date datetime)
          将日期转成字符串,格式为yyyy-MM-dd HH:mm,使用当前登录者所在时区和语言
static java.lang.String formateToLocaleDate(java.util.Date date)
          日期转换成字符串,采用当前登录的语言
static java.lang.String formateToLocaleDatetime(java.util.Date date)
          日期转换成字符串,采用当前登录的语言
static long[] formatLongToTimeStr(long millisecond)
          long型数据转换
static java.lang.String formatMins2TimeStr(java.lang.Integer times)
          将分钟数转换成XX小时XX分
static java.util.Date getFirstDayInMonth(java.util.Date date)
          得到指定日期所在月的第一天的日期, 时分为00:00:00
static java.util.Date getFirstDayInSeason(java.util.Date date)
          得到指定日期所在季度的第一天的日期, 时分为00:00:00
static java.util.Date getFirstDayInWeek(java.util.Date date)
          得到指定日期所在周的第一天的日期, 时分为00:00:00
static java.util.Date getFirstDayInWeek(java.util.Date date, java.util.Locale locale)
          得到指定日期所在周的第一天的日期, 时分为00:00:00
static java.util.Date getFirstDayInYear(java.util.Date date)
          得到指定日期所在年度的第一天的日期, 时分为00:00:00
static java.util.Date getLastDayInMonth(java.util.Date date)
          得到指定日期所在月的最后一天的日期, 时分为23:59:59
static java.util.Date getLastDayInSeason(java.util.Date date)
          得到指定日期所在季度的最后一天的日期, 时分为23:59:59
static java.util.Date getLastDayInWeek(java.util.Date date)
          得到指定日期所在周的周末的日期, 时分为23:59:59
static java.util.Date getLastDayInWeek(java.util.Date date, java.util.Locale locale)
          得到指定日期所在周的周末的日期, 时分为23:59:59
static java.util.Date getLastDayInYear(java.util.Date date)
          得到指定日期所在年度的最后一天的日期, 时分为23:59:59
static java.util.Date getNextPeriodMinute(java.util.Date date, int period, boolean clearSecond)
          取得下一个周期的时间 Datetimes.getNextPeriodMinute(new Date(), 30, true) 若当前是:2007-06-23 12:18:25 返回值 2007-06-23 12:30:00 若当前是:2007-06-23 12:30:25 返回值 2007-06-23 13:00:00 Datetimes.getNextPeriodMinute(new Date(), 10, true) 若当前是:2007-06-23 12:18:25 返回值 2007-06-23 12:20:00 若当前是:2007-06-23 12:50:25 返回值 2007-06-23 13:00:00
static java.util.Date getTodayFirstTime()
          得到今天开始的时间 2008-08-08 00:00:00
static java.util.Date getTodayFirstTime(java.util.Date date)
          得到指定天开始的时间2008-08-08 00:00:00
static java.util.Date getTodayFirstTime(java.lang.String dateStr)
          得到指定天开始的时间2008-08-08 00:00:00
static java.util.Date getTodayLastTime()
          得到今天结束的时间 2008-08-08 23:59:59
static java.util.Date getTodayLastTime(java.util.Date date)
          得到指定天结束的时间 2008-08-08 23:59:59
static java.util.Date getTodayLastTime(java.lang.String dateStr)
          得到指定天结束的时间 2008-08-08 23:59:59
static long minusDay(java.util.Date theDay, java.util.Date otherDay)
          计算日期间隔的天数
static java.util.Date parse(java.lang.String dateStr)
          将字符串按照默认的格式转换成日期,默认按照当前登录者所在时区转换
支持三种格式:yyyy-MM-dd HH:mm,yyyy-MM-dd,yyyy-MM-dd HH:mm:ss
static java.util.Date parse(java.lang.String dateStr, java.lang.String pattern)
          将字符串按照制定的格式转换成日期,默认按照当前登录者所在时区转换
static java.util.Date parse(java.lang.String dateStr, java.util.TimeZone timeZone)
          将字符串按照默认的格式转换成日期,按照指定时区转换,如果不采用时区,即用TimeZone.getDefault() 支持三种格式:yyyy-MM-dd HH:mm,yyyy-MM-dd,yyyy-MM-dd HH:mm:ss
static java.util.Date parse(java.lang.String dateStr, java.util.TimeZone timeZone, java.lang.String pattern)
          将字符串按照指定的格式转换成日期,采用系统默认语言
static java.util.Date parseDate(java.lang.String date)
          将字符串转成日期,默认按照当前登录者所在时区转换
static java.util.Date parseDatetime(java.lang.String datetime)
          将字符串转成日期,默认按照当前登录者所在时区转换
static java.util.Date parseDatetimeWithoutSecond(java.lang.String date)
          将字符串转换成Date类型,配置前端时间选择器使用,默认按照当前登录者所在时区转换
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

datetimeStyle

public static final java.lang.String datetimeStyle
另请参见:
常量字段值

dateStyle

public static final java.lang.String dateStyle
另请参见:
常量字段值

dateStyleWithoutYear

public static final java.lang.String dateStyleWithoutYear
另请参见:
常量字段值

datetimeStartWithMonthStyle

public static final java.lang.String datetimeStartWithMonthStyle
另请参见:
常量字段值

datetimeWithoutSecondStyle

public static final java.lang.String datetimeWithoutSecondStyle
另请参见:
常量字段值
构造方法详细信息

Datetimes

public Datetimes()
方法详细信息

getFirstDayInWeek

public static java.util.Date getFirstDayInWeek(java.util.Date date,
                                               java.util.Locale locale)
得到指定日期所在周的第一天的日期, 时分为00:00:00

参数:
date -
locale -
返回:

getFirstDayInWeek

public static java.util.Date getFirstDayInWeek(java.util.Date date)
得到指定日期所在周的第一天的日期, 时分为00:00:00

参数:
date -
返回:

getLastDayInWeek

public static java.util.Date getLastDayInWeek(java.util.Date date,
                                              java.util.Locale locale)
得到指定日期所在周的周末的日期, 时分为23:59:59

参数:
date -
返回:

getLastDayInWeek

public static java.util.Date getLastDayInWeek(java.util.Date date)
得到指定日期所在周的周末的日期, 时分为23:59:59

参数:
date -
locale -
返回:

getFirstDayInMonth

public static java.util.Date getFirstDayInMonth(java.util.Date date)
得到指定日期所在月的第一天的日期, 时分为00:00:00

参数:
date -
返回:

getLastDayInMonth

public static java.util.Date getLastDayInMonth(java.util.Date date)
得到指定日期所在月的最后一天的日期, 时分为23:59:59

参数:
date -
返回:

getFirstDayInSeason

public static java.util.Date getFirstDayInSeason(java.util.Date date)
得到指定日期所在季度的第一天的日期, 时分为00:00:00

参数:
date -
返回:

getLastDayInSeason

public static java.util.Date getLastDayInSeason(java.util.Date date)
得到指定日期所在季度的最后一天的日期, 时分为23:59:59

参数:
date -
返回:

getFirstDayInYear

public static java.util.Date getFirstDayInYear(java.util.Date date)
得到指定日期所在年度的第一天的日期, 时分为00:00:00

参数:
date -
返回:

getLastDayInYear

public static java.util.Date getLastDayInYear(java.util.Date date)
得到指定日期所在年度的最后一天的日期, 时分为23:59:59

参数:
date -
返回:

getTodayFirstTime

public static java.util.Date getTodayFirstTime()
得到今天开始的时间 2008-08-08 00:00:00

返回:

getTodayFirstTime

public static java.util.Date getTodayFirstTime(java.util.Date date)
得到指定天开始的时间2008-08-08 00:00:00

参数:
date -
返回:

getTodayFirstTime

public static java.util.Date getTodayFirstTime(java.lang.String dateStr)
得到指定天开始的时间2008-08-08 00:00:00

参数:
dateStr - yyyy-MM-dd
返回:

getTodayLastTime

public static java.util.Date getTodayLastTime()
得到今天结束的时间 2008-08-08 23:59:59

返回:

getTodayLastTime

public static java.util.Date getTodayLastTime(java.util.Date date)
得到指定天结束的时间 2008-08-08 23:59:59

参数:
date -
返回:

getTodayLastTime

public static java.util.Date getTodayLastTime(java.lang.String dateStr)
得到指定天结束的时间 2008-08-08 23:59:59

参数:
dateStr - yyyy-MM-dd
返回:

formatDatetime

public static java.lang.String formatDatetime(java.util.Date datetime)
将日期转成字符串,格式为yyyy-MM-dd HH:mm:ss,使用当前登录者所在时区和语言

参数:
datetime -
返回:

formatDatetimeWithoutSecond

public static java.lang.String formatDatetimeWithoutSecond(java.util.Date datetime)
将日期转成字符串,格式为yyyy-MM-dd HH:mm,使用当前登录者所在时区和语言

参数:
datetime -
返回:

formatDate

public static java.lang.String formatDate(java.util.Date date)
将日期转成字符串,格式为yyyy-MM-dd,使用当前登录者所在时区和语言

参数:
date -
返回:

format

public static java.lang.String format(java.util.Date date,
                                      java.lang.String pattern)
将日期转成字符串, 指定显示格式,使用当前登录者所在时区和语言

参数:
date -
pattern -
返回:

format

public static java.lang.String format(java.util.Date date,
                                      java.lang.String pattern,
                                      java.util.Locale locale)
将日期转成字符串, 指定显示格式

参数:
date -
pattern -
locale -
返回:

format

public static java.lang.String format(java.util.Date date,
                                      java.lang.String pattern,
                                      java.util.TimeZone timeZone)
将日期转成字符串, 指定显示格式,并转换成指定区域的时区,如果不采用时区,即用TimeZone.getDefault()

参数:
date -
pattern -
zone -
返回:

format

public static java.lang.String format(java.util.Date date,
                                      java.lang.String pattern,
                                      java.util.TimeZone zone,
                                      java.util.Locale locale)
将日期转成字符串, 指定显示格式

参数:
date -
pattern -
zone -
locale -
返回:

formatDateOrDatetime

public static java.lang.String formatDateOrDatetime(java.util.Date date)
格式化为日期或者日期+时间, 判别依据是:时、分、秒、毫秒都为0

参数:
date -
返回:

parseDatetime

public static java.util.Date parseDatetime(java.lang.String datetime)
将字符串转成日期,默认按照当前登录者所在时区转换

参数:
datetime - 格式为yyyy-MM-dd HH:mm:ss
返回:

parseDate

public static java.util.Date parseDate(java.lang.String date)
将字符串转成日期,默认按照当前登录者所在时区转换

参数:
date - 格式为yyyy-MM-dd
返回:

parseDatetimeWithoutSecond

public static java.util.Date parseDatetimeWithoutSecond(java.lang.String date)
将字符串转换成Date类型,配置前端时间选择器使用,默认按照当前登录者所在时区转换

参数:
date - 格式为yyyy-MM-dd HH:mm
返回:

parse

public static java.util.Date parse(java.lang.String dateStr)
将字符串按照默认的格式转换成日期,默认按照当前登录者所在时区转换
支持三种格式:yyyy-MM-dd HH:mm,yyyy-MM-dd,yyyy-MM-dd HH:mm:ss

参数:
dateStr -
返回:

parse

public static java.util.Date parse(java.lang.String dateStr,
                                   java.util.TimeZone timeZone)
将字符串按照默认的格式转换成日期,按照指定时区转换,如果不采用时区,即用TimeZone.getDefault() 支持三种格式:yyyy-MM-dd HH:mm,yyyy-MM-dd,yyyy-MM-dd HH:mm:ss

参数:
dateStr -
timeZone -
返回:

parse

public static java.util.Date parse(java.lang.String dateStr,
                                   java.lang.String pattern)
将字符串按照制定的格式转换成日期,默认按照当前登录者所在时区转换

参数:
dateStr -
pattern -
返回:

parse

public static java.util.Date parse(java.lang.String dateStr,
                                   java.util.TimeZone timeZone,
                                   java.lang.String pattern)
将字符串按照指定的格式转换成日期,采用系统默认语言

参数:
dateStr -
pattern - 格式,如yy-MM-dd HH:mm:ss,可以不设定,默认三种格式:yyyy-MM-dd HH:mm,yyyy-MM-dd,yyyy-MM-dd HH:mm:ss
返回:

addSecond

public static java.util.Date addSecond(java.util.Date date,
                                       int amount)
在指定的日期基础上移动秒数,分、时、日、月、年自动变化

参数:
date -
amount - 移动秒数,负数表示往回倒
返回:

addMinute

public static java.util.Date addMinute(java.util.Date date,
                                       int amount)
在指定的日期基础上移动分数,时、日、月、年自动变化

参数:
date -
amount - 移动分数,负数表示往回倒
返回:

addHour

public static java.util.Date addHour(java.util.Date date,
                                     int amount)
在指定的日期基础上移动小时数,日、月、年自动变化,采用24小时制

参数:
date -
amount - 移动小时数,负数表示往回倒
返回:

addDate

public static java.util.Date addDate(java.util.Date date,
                                     int amount)
在指定的日期基础上移动天数,月份、年份自动变化 e.g
 Datetimes.addDate(new Date(), -1)      = 昨天
 Datetimes.addDate(new Date(), 1)       = 明天
 

参数:
date -
amount - 移动天数,负数表示往回倒
返回:

addMonth

public static java.util.Date addMonth(java.util.Date date,
                                      int amount)
在指定的日期基础上移动月份,年份自动变化

参数:
date -
amount - 移动月数,负数表示往回倒
返回:

addYear

public static java.util.Date addYear(java.util.Date date,
                                     int amount)
在指定的日期基础上移动年份

参数:
date -
amount - 移动年数,负数表示往回倒
返回:

between

public static boolean between(java.util.Date checkupDate,
                              java.util.Date startDate,
                              java.util.Date endDate,
                              boolean isIncludeBorderline)
检测时间点是否在时间段之内
e.g.
 Datetimes.between(new Date(107, 8, 8), new Date(107, 1, 1), new Date(107, 12, 31), true)  : true
 Datetimes.between(new Date(107, 1, 1), new Date(107, 1, 1), new Date(107, 12, 31), true)  : true
 Datetimes.between(new Date(107, 1, 1), new Date(107, 1, 1), new Date(107, 12, 31), false) : false
 

参数:
checkupDate - 要检查的时间点
startDate - 时间段的开始时间
endDate - 时间段的结束时间
isIncludeBorderline - 检测时是否包含边界时间,true:表示被检测的时间点可以等于时间段的起止时间点
返回:
true: 被检测的时间点在时间短内

checkOverup

public static boolean checkOverup(java.util.Date startDate1,
                                  java.util.Date endDate1,
                                  java.util.Date startDate2,
                                  java.util.Date endDate2,
                                  boolean allowIncludeBorderline)
判断两个时间段是否有叠加
e.g.
 Datetimes.checkOverup(new Date(107, 1, 1), new Date(107, 12, 31), new Date(107, 12, 31), new Date(108, 12, 31), true)  : false
 Datetimes.checkOverup(new Date(107, 1, 1), new Date(107, 12, 31), new Date(107, 12, 31), new Date(108, 12, 31), false) : true
 Datetimes.checkOverup(new Date(107, 1, 1), new Date(107, 12, 31), new Date(108, 1, 1), new Date(108, 12, 31), false)   : false
 

参数:
startDate1 - 时间段1的开始时间
endDate1 - 时间段1的结束时间
startDate2 - 时间段2的开始时间
endDate2 - 时间段2的结束时间
allowIncludeBorderline - 检测时是否允许边界时间重叠,true:时间段1的结束时间可以等于时间段2的开始时间
返回:
true: 两个时间短有叠加

getNextPeriodMinute

public static java.util.Date getNextPeriodMinute(java.util.Date date,
                                                 int period,
                                                 boolean clearSecond)
取得下一个周期的时间
 Datetimes.getNextPeriodMinute(new Date(), 30, true)
 若当前是:2007-06-23 12:18:25 返回值 2007-06-23 12:30:00
 若当前是:2007-06-23 12:30:25 返回值 2007-06-23 13:00:00
 
 Datetimes.getNextPeriodMinute(new Date(), 10, true)
 若当前是:2007-06-23 12:18:25 返回值 2007-06-23 12:20:00
 若当前是:2007-06-23 12:50:25 返回值 2007-06-23 13:00:00
 

参数:
date -
period - 时间间隔,如15、30,用于将一个小时却分乘若干段
clearSecond - 是否将秒清0
返回:

conversionToServerDate

public static java.util.Date conversionToServerDate(java.util.Date localDate,
                                                    java.util.TimeZone localZone)
将地区的时间转换成服务器的时间
 服务器在GMT+08:00 东8区
 conversionToServerDate(Date(2007-06-29 17:20:27), TimeZone.getTimeZone("GMT+09:00")) : 2007-06-29 16:20:27
 conversionToServerDate(Date(2007-06-29 17:20:27), TimeZone.getTimeZone("GMT+00:00")) : 2007-06-30 01:20:27
 

参数:
localDate - 地方时间
localZone - 客户端所在的时区
返回:

formateToLocaleDatetime

public static java.lang.String formateToLocaleDatetime(java.util.Date date)
日期转换成字符串,采用当前登录的语言

参数:
date -
返回:
日期

formateToLocaleDate

public static java.lang.String formateToLocaleDate(java.util.Date date)
日期转换成字符串,采用当前登录的语言

参数:
date -
返回:
日期 + 时间

minusDay

public static long minusDay(java.util.Date theDay,
                            java.util.Date otherDay)
计算日期间隔的天数

参数:
theDay - 时间1
otherDay - 时间2
返回:
间隔天数,theDay应该大于otherDay

detailInterval

public static long[] detailInterval(java.util.Date theDay,
                                    java.util.Date otherDay)
计算日期详细时间间隔

参数:
theDay - 时间1
otherDay - 时间2
返回:
long[]{天数,小时数,分钟数,秒数}

formatLongToTimeStr

public static long[] formatLongToTimeStr(long millisecond)
long型数据转换

参数:
long - 分钟数
返回:
long[]{天数,小时数,分钟数,秒数}

formatMins2TimeStr

public static java.lang.String formatMins2TimeStr(java.lang.Integer times)
将分钟数转换成XX小时XX分

参数:
times -
返回: