grapes
类 Dates

java.lang.Object
  继承者 grapes.Dates

public class Dates
extends java.lang.Object

日期时间差(GMT、UTC)操作

作者:
JSPGen

嵌套类摘要
static class Dates.TimeUnit
          时间单位
 
构造方法摘要
Dates()
           
 
方法摘要
static int between(java.util.Date startDate, java.util.Date endDate, java.util.Date thisDate)
          日期判断(检查某日期是否在某两个日期之间)
static int between(java.lang.String startTime, java.lang.String endTime)
           
static int between(java.lang.String startTime, java.lang.String endTime, java.lang.String thisTime)
          日期判断(检查某日期是否在某两个日期之间)
static java.lang.String compute(java.lang.String dateTime, java.lang.String pattern, int field, int amount)
          日期加减(由field参数指定计算成员) 例子: 如果dateTime为 2000年8月20日 那么 compute(dateTime,Calendar.YEAR,-10):值为1990年8月20日 compute(dateTime,Calendar.YEAR,+10):值为2010年8月20日
static java.lang.Long getCSTMillis(java.lang.String dateTime)
          获取CST日期时间的时间截(单位:毫秒) (CST:中国标准时间 格式为:EEE MMM dd HH:mm:ss ZZZ yyyy)
static java.lang.String getDateTime()
           
static java.lang.String getDateTime(java.lang.Long time, java.lang.String pattern)
           
static java.lang.String getDateTime(java.lang.Long time, java.lang.String pattern, java.lang.String timezoneid)
          获取某时间戳在某时区的日期时间
static java.lang.String getDateTime(java.lang.String pattern)
           
static java.lang.String getDateTime(java.lang.String pattern, java.lang.String timezoneid)
           
static java.util.TimeZone getDefaultTimezone()
          获取当前默认时区(UTC)
static java.util.TimeZone getDefaultTimezoneGMT()
          获取当前默认时区(GMT)
static java.lang.String getDefaultTimezoneGMTId()
          获取当前默认时区Id(GMT)
static java.lang.String getDefaultTimezoneGMTKey()
          获取当前默认时区的GMT集合key关键字(本类特设)
static java.lang.String getDefaultTimezoneid()
          获取当前默认时区Id(UTC)
static java.lang.String getEndHHmmss(java.lang.String date)
          获取某日精确结束时间
static java.lang.String getFriendTime(java.lang.Long fistTime)
           
static java.lang.String getFriendTime(java.lang.Long fistTime, java.lang.Long secondTime, boolean isflag)
           
static java.lang.String getFriendTime(java.lang.Long fistTime, java.lang.Long secondTime, java.lang.String pattern, java.lang.String timezoneid, boolean isflag)
          友好显示两个日期间隔时间(自动匹配单位,单位:一个月、半 个月[两周]、天、小时、分钟、秒、刚刚)
static java.lang.String getFriendTime(java.lang.Long fistTime, java.lang.String pattern)
           
static java.lang.String getFriendTime(java.lang.Long fistTime, java.lang.String pattern, java.lang.String timezoneid)
           
static java.lang.String getFriendTime(java.lang.Long fistTime, java.lang.String pattern, java.lang.String timezoneid, boolean isflag)
           
static java.lang.Long getInterval(java.lang.Long fistTime)
           
static java.lang.Long getInterval(java.lang.Long fistTime, Dates.TimeUnit keyword)
           
static java.lang.Long getInterval(java.lang.Long fistTime, long secondTime)
           
static java.lang.Long getInterval(java.lang.Long fistTime, java.lang.Long secondTime, Dates.TimeUnit key)
          获取两个日期间隔时间 并 按某一单位表示
static java.lang.Long getMySQLTimeMillis()
          获取当前MySQL时间戳(单位:毫秒)
static java.lang.String getPattern(java.lang.String dateTime)
           
static java.lang.String getPattern(java.lang.String dateTime, java.lang.String[] pattern)
           
static java.lang.String getPattern(java.lang.String dateTime, java.lang.String[] pattern, java.lang.String timezoneid)
          获取字符型日期合适的格式规则
static java.lang.Long getRFCMillis(java.lang.String dateTime)
          获取RFC日期时间的时间截(单位:毫秒) (RFC:rfc822格式时间 RSS2.0标准时间格式 格式为:E,dd MMM yyyy HH:mm:ss)
static java.text.SimpleDateFormat getSimpleDateFormat(java.lang.String pattern)
           
static java.text.SimpleDateFormat getSimpleDateFormat(java.lang.String pattern, java.lang.String timezoneid)
           
static java.text.SimpleDateFormat getSimpleDateFormat(java.lang.String pattern, java.lang.String timezoneid, boolean isflag)
          设定格式化固定时区
static java.lang.String getStartHHmmss(java.lang.String date)
          获取某日精确起始时间
static java.util.Date getTime()
          获取当前时间(日期型)
static java.lang.Long getTimeMillis()
          获取当前Java时间戳(Long型,单位:毫秒) 注意: Java时间戳长度是13位,如:1294890876859;MySQL及PHP时间戳长度是10位, 如:1294890859 ,主要最后三位的不同。
static java.util.TimeZone getTimezone(java.lang.String timezoneid)
          获取某时区(支持GMT集合key名称、及UTC时区Id名称)
static java.util.Map<java.lang.String,java.lang.String[]> getTimeZoneGMT()
          获取GMT时区集合
static java.lang.String[] getTimezoneids()
          获取UTC时区ID(编号)集合 排序规则:按照ASCII字符的正序进行排序(忽略字符大小写)
static int getTimezoneRawOffset()
           
static int getTimezoneRawOffset(java.lang.String timezoneid)
          获取当前时区与某时区的时间差(单位:毫秒)
static java.lang.String getUnitTime(java.lang.Long interval)
           
static java.lang.String getUnitTime(java.lang.Long interval, boolean isflag)
          友好显示间隔时间(自动匹配单位,单位:年、月、天、小时、分钟、秒)
static boolean isAfter(java.lang.String dateTimeA, java.lang.String dateTimeB)
           
static boolean isAfter(java.lang.String dateTimeA, java.lang.String dateTimeB, boolean isflag)
          日期比较(检查 dateTimeA 是否在 dateTimeB 之后)
static boolean isBefore(java.lang.String dateTimeA, java.lang.String dateTimeB)
           
static boolean isBefore(java.lang.String dateTimeA, java.lang.String dateTimeB, boolean isflag)
          日期比较(检查 dateTimeA 是否在 dateTimeB 之前)
static boolean isPattern(java.lang.String dateTime)
           
static boolean isPattern(java.lang.String dateTime, java.lang.String[] pattern)
          判断是否为某格式集合中所定义的日期时间
static java.util.Date parseDate(java.lang.Long time)
          将long型 转 日期型
static java.util.Date parseDate(java.lang.String dateTime)
           
static java.util.Date parseDate(java.lang.String dateTime, java.lang.String timezoneid)
           
static java.util.Date parseDate(java.lang.String dateTime, java.lang.String[] pattern)
           
static java.util.Date parseDate(java.lang.String dateTime, java.lang.String[] pattern, java.lang.String timezoneid)
          将字符型 转 日期型(可根据日期格式集合自动判断,无默认格式,若集合中不存在返回null)
static java.util.Date parseDate(java.lang.String dateTime, java.lang.String pattern, java.lang.String timezoneid)
          将字符型 转 日期型(无日期格式时可自动判断格式并有默认格式)
static java.lang.Long parseLong(java.util.Date date)
          将日期型 转 long型
static java.lang.Long parseLong(java.lang.String dateTime)
           
static java.lang.Long parseLong(java.lang.String dateTime, java.lang.String timezoneid)
           
static java.lang.Long parseLong(java.lang.String dateTime, java.lang.String pattern, java.lang.String timezoneid)
          将字符型 转 long型
static java.lang.String parseString(java.util.Date date)
           
static java.lang.String parseString(java.util.Date date, java.lang.String timezoneid)
           
static java.lang.String parseString(java.util.Date date, java.lang.String pattern, java.lang.String timezoneid)
          将日期型 转 字符型
static java.lang.String parseString(java.lang.Long time)
           
static java.lang.String parseString(java.lang.Long time, java.lang.String timezoneid)
           
static java.lang.String parseString(java.lang.Long time, java.lang.String pattern, java.lang.String timezoneid)
          将long型 转 字符型
static void setDefaultTimezoneid(java.lang.String timezoneid)
          设置当前默认时区Id(支持GMT集合key名称、及UTC时区Id名称)
 
从类 java.lang.Object 继承的方法
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

构造方法详细信息

Dates

public Dates()
方法详细信息

getTimeZoneGMT

public static java.util.Map<java.lang.String,java.lang.String[]> getTimeZoneGMT()
获取GMT时区集合

返回:
Map

getDefaultTimezoneGMT

public static java.util.TimeZone getDefaultTimezoneGMT()
获取当前默认时区(GMT)

返回:
String

getDefaultTimezoneGMTKey

public static java.lang.String getDefaultTimezoneGMTKey()
获取当前默认时区的GMT集合key关键字(本类特设)

返回:
String

getDefaultTimezoneGMTId

public static java.lang.String getDefaultTimezoneGMTId()
获取当前默认时区Id(GMT)

返回:
String

getTimezoneids

public static java.lang.String[] getTimezoneids()
获取UTC时区ID(编号)集合 排序规则:按照ASCII字符的正序进行排序(忽略字符大小写)

返回:
所有的时区编号

getDefaultTimezone

public static java.util.TimeZone getDefaultTimezone()
获取当前默认时区(UTC)

返回:
String

getDefaultTimezoneid

public static java.lang.String getDefaultTimezoneid()
获取当前默认时区Id(UTC)

返回:
String

getTimezone

public static java.util.TimeZone getTimezone(java.lang.String timezoneid)
获取某时区(支持GMT集合key名称、及UTC时区Id名称)

返回:
TimeZone

setDefaultTimezoneid

public static void setDefaultTimezoneid(java.lang.String timezoneid)
设置当前默认时区Id(支持GMT集合key名称、及UTC时区Id名称)


getTimezoneRawOffset

public static int getTimezoneRawOffset(java.lang.String timezoneid)
获取当前时区与某时区的时间差(单位:毫秒)

参数:
timezoneid - 时区Id(支持GMT、UTC时区Id,为空则默认时区)
返回:
String

getTimezoneRawOffset

public static int getTimezoneRawOffset()

getTime

public static java.util.Date getTime()
获取当前时间(日期型)

返回:
Date

getTimeMillis

public static java.lang.Long getTimeMillis()
获取当前Java时间戳(Long型,单位:毫秒) 注意: Java时间戳长度是13位,如:1294890876859;MySQL及PHP时间戳长度是10位, 如:1294890859 ,主要最后三位的不同。

返回:
String

getMySQLTimeMillis

public static java.lang.Long getMySQLTimeMillis()
获取当前MySQL时间戳(单位:毫秒)

返回:
String

getStartHHmmss

public static java.lang.String getStartHHmmss(java.lang.String date)
获取某日精确起始时间

参数:
time - 日期(格式:yyyy-MM-dd)
返回:
String(yyyy-MM-dd 00:00:00)

getEndHHmmss

public static java.lang.String getEndHHmmss(java.lang.String date)
获取某日精确结束时间

参数:
time - 日期(格式:yyyy-MM-dd)
返回:
String(yyyy-MM-dd 23:59:59)

getDateTime

public static java.lang.String getDateTime(java.lang.Long time,
                                           java.lang.String pattern,
                                           java.lang.String timezoneid)
获取某时间戳在某时区的日期时间

参数:
time - 时间截(默认为当前时区当前时间)
pattern - 转换后日期规则(yyyy-MM-dd HH:mm:ss)
timezoneid - 时区Id
返回:
String

getDateTime

public static java.lang.String getDateTime(java.lang.Long time,
                                           java.lang.String pattern)

getDateTime

public static java.lang.String getDateTime(java.lang.String pattern,
                                           java.lang.String timezoneid)

getDateTime

public static java.lang.String getDateTime(java.lang.String pattern)

getDateTime

public static java.lang.String getDateTime()

getCSTMillis

public static java.lang.Long getCSTMillis(java.lang.String dateTime)
获取CST日期时间的时间截(单位:毫秒) (CST:中国标准时间 格式为:EEE MMM dd HH:mm:ss ZZZ yyyy)

参数:
dateTime - 日期时间
返回:
String

getRFCMillis

public static java.lang.Long getRFCMillis(java.lang.String dateTime)
获取RFC日期时间的时间截(单位:毫秒) (RFC:rfc822格式时间 RSS2.0标准时间格式 格式为:E,dd MMM yyyy HH:mm:ss)

参数:
dateTime - 日期时间
返回:
String

getInterval

public static java.lang.Long getInterval(java.lang.Long fistTime,
                                         java.lang.Long secondTime,
                                         Dates.TimeUnit key)
获取两个日期间隔时间 并 按某一单位表示

参数:
fistTime - 日期时间1
secondTime - 日期时间2
key - 关键字(默认:豪秒,0毫秒:milli 1秒:second 2分:minute 3时:hour 4日:day)
返回:
相隔数(正值:时间2在时间1之后 负值:时间2在时间1之前)

getInterval

public static java.lang.Long getInterval(java.lang.Long fistTime,
                                         long secondTime)

getInterval

public static java.lang.Long getInterval(java.lang.Long fistTime,
                                         Dates.TimeUnit keyword)

getInterval

public static java.lang.Long getInterval(java.lang.Long fistTime)

getUnitTime

public static java.lang.String getUnitTime(java.lang.Long interval,
                                           boolean isflag)
友好显示间隔时间(自动匹配单位,单位:年、月、天、小时、分钟、秒)

参数:
interval - 间隔时间毫秒数
返回:
isflag 是否显示中文单位(默认true)

getUnitTime

public static java.lang.String getUnitTime(java.lang.Long interval)

getFriendTime

public static java.lang.String getFriendTime(java.lang.Long fistTime,
                                             java.lang.Long secondTime,
                                             java.lang.String pattern,
                                             java.lang.String timezoneid,
                                             boolean isflag)
友好显示两个日期间隔时间(自动匹配单位,单位:一个月、半 个月[两周]、天、小时、分钟、秒、刚刚)

参数:
fistTime - 时间1
secondTime - 时间2
pattern - 转换后日期规则(yyyy-MM-dd HH:mm:ss),大于一个半月的直接输出时间1
timezoneid - 时区Id
返回:
isflag 显示中文单位(默认true)

getFriendTime

public static java.lang.String getFriendTime(java.lang.Long fistTime,
                                             java.lang.Long secondTime,
                                             boolean isflag)

getFriendTime

public static java.lang.String getFriendTime(java.lang.Long fistTime,
                                             java.lang.String pattern,
                                             java.lang.String timezoneid,
                                             boolean isflag)

getFriendTime

public static java.lang.String getFriendTime(java.lang.Long fistTime,
                                             java.lang.String pattern,
                                             java.lang.String timezoneid)

getFriendTime

public static java.lang.String getFriendTime(java.lang.Long fistTime,
                                             java.lang.String pattern)

getFriendTime

public static java.lang.String getFriendTime(java.lang.Long fistTime)

getPattern

public static java.lang.String getPattern(java.lang.String dateTime,
                                          java.lang.String[] pattern,
                                          java.lang.String timezoneid)
获取字符型日期合适的格式规则

参数:
dateTime - 字符型日期
pattern - 日期格式集合
timezoneid - 时区Id
返回:
String

getPattern

public static java.lang.String getPattern(java.lang.String dateTime,
                                          java.lang.String[] pattern)

getPattern

public static java.lang.String getPattern(java.lang.String dateTime)

isPattern

public static boolean isPattern(java.lang.String dateTime,
                                java.lang.String[] pattern)
判断是否为某格式集合中所定义的日期时间

参数:
dateTime - 字符型日期
pattern - 日期格式集合
返回:
boolean 是true 否false

isPattern

public static boolean isPattern(java.lang.String dateTime)

getSimpleDateFormat

public static java.text.SimpleDateFormat getSimpleDateFormat(java.lang.String pattern,
                                                             java.lang.String timezoneid,
                                                             boolean isflag)
设定格式化固定时区

参数:
pattern - 日期规则(yyyy-MM-dd HH:mm:ss)
timezoneid - 时区Id(含GMT及UTC时区Id,默认获取当前时区) GMT((String[])timeZoneGMT.get(timeoffset))[0])
isflag - 是否容错处理(默认为是) 使用严格分析时,输入必须和对象的格式相匹配。 使用容错分析时,分析器将使用试探法解释不能和对象的格式精确匹配的输入。如 2008/02/29 会被接受并转换成 2008/03/01
返回:
SimpleDateFormat

getSimpleDateFormat

public static java.text.SimpleDateFormat getSimpleDateFormat(java.lang.String pattern,
                                                             java.lang.String timezoneid)

getSimpleDateFormat

public static java.text.SimpleDateFormat getSimpleDateFormat(java.lang.String pattern)

parseString

public static java.lang.String parseString(java.util.Date date,
                                           java.lang.String pattern,
                                           java.lang.String timezoneid)
将日期型 转 字符型

参数:
date - 日期型日期
pattern - 转换后日期规则(yyyy-MM-dd HH:mm:ss、yyyyMMddHHmmss、yyyy年MM月dd日 HH时mm分ss秒)
timezoneid - 时区Id
返回:
String

parseString

public static java.lang.String parseString(java.util.Date date,
                                           java.lang.String timezoneid)

parseString

public static java.lang.String parseString(java.util.Date date)

parseString

public static java.lang.String parseString(java.lang.Long time,
                                           java.lang.String pattern,
                                           java.lang.String timezoneid)
将long型 转 字符型

参数:
time - 时间戳(GMT=UTC/1000L)
pattern - 转换后日期规则(yyyy-MM-dd HH:mm:ss)
timezoneid - 时区Id
返回:
字符型日期

parseString

public static java.lang.String parseString(java.lang.Long time,
                                           java.lang.String timezoneid)

parseString

public static java.lang.String parseString(java.lang.Long time)

parseDate

public static java.util.Date parseDate(java.lang.String dateTime,
                                       java.lang.String[] pattern,
                                       java.lang.String timezoneid)
将字符型 转 日期型(可根据日期格式集合自动判断,无默认格式,若集合中不存在返回null)

参数:
dateTime - 字符型日期
pattern - 转换前日期格式集合(为空则返null)
timezoneid - 时区Id
返回:
Date

parseDate

public static java.util.Date parseDate(java.lang.String dateTime,
                                       java.lang.String[] pattern)

parseDate

public static java.util.Date parseDate(java.lang.String dateTime,
                                       java.lang.String pattern,
                                       java.lang.String timezoneid)
将字符型 转 日期型(无日期格式时可自动判断格式并有默认格式)

参数:
dateTime - 字符型日期(yyyy-MM-dd HH:mm:ss)
pattern - 转换前日期格式(为:"" 则自动判断,默认按 yyyy-MM-dd HH:mm:ss 处理)
timezoneid - 时区Id
返回:
Date

parseDate

public static java.util.Date parseDate(java.lang.String dateTime,
                                       java.lang.String timezoneid)

parseDate

public static java.util.Date parseDate(java.lang.String dateTime)

parseDate

public static java.util.Date parseDate(java.lang.Long time)
将long型 转 日期型

参数:
time - 日期型
返回:
Date

parseLong

public static java.lang.Long parseLong(java.lang.String dateTime,
                                       java.lang.String pattern,
                                       java.lang.String timezoneid)
将字符型 转 long型

参数:
dateTime - 时间戳(GMT=UTC/1000L)
pattern - 转换前日期规则(yyyy-MM-dd HH:mm:ss)
timezoneid - 时区Id
返回:
long

parseLong

public static java.lang.Long parseLong(java.lang.String dateTime,
                                       java.lang.String timezoneid)

parseLong

public static java.lang.Long parseLong(java.lang.String dateTime)

parseLong

public static java.lang.Long parseLong(java.util.Date date)
将日期型 转 long型

参数:
date - 日期型
返回:
Date

compute

public static java.lang.String compute(java.lang.String dateTime,
                                       java.lang.String pattern,
                                       int field,
                                       int amount)
日期加减(由field参数指定计算成员) 例子: 如果dateTime为 2000年8月20日 那么 compute(dateTime,Calendar.YEAR,-10):值为1990年8月20日 compute(dateTime,Calendar.YEAR,+10):值为2010年8月20日

参数:
dateTime - 日期处理前格式:yyyy-MM-dd HH:mm:ss
pattern - 目标格式:yyyy-MM-dd HH:mm:ss yyyyMMddHHmmss yyyy年MM月dd日 HH时mm分ss秒
field - 日期成员,主要有: 1年:Calendar.YEAR //GregorianCalendar.YEAR 2月:Calendar.MONTH //GregorianCalendar.MONTH 3周:Calendar.WEEK_OF_YEAR //GregorianCalendar.WEEK_OF_YEAR 5日:Calendar.DATE //GregorianCalendar.DATE 11时:Calendar.HOUR //GregorianCalendar.HOUR 12分:Calendar.MINUTE //GregorianCalendar.MINUTE 13秒:Calendar.SECOND //GregorianCalendar.SECOND 14毫秒:Calendar.MILLISECOND //GregorianCalendar.MILLISECOND
amount - 加减幅度(+n=加n个由参数field指定的日期成员值; -n=减n个由参数field代表的日期成员值)
返回:
计算后的日期(字符型)

isBefore

public static boolean isBefore(java.lang.String dateTimeA,
                               java.lang.String dateTimeB,
                               boolean isflag)
日期比较(检查 dateTimeA 是否在 dateTimeB 之前)

参数:
dateTimeA - 日期时间A(yyyy-MM-dd HH:mm:ss)
dateTimeB - 日期时间B(yyyy-MM-dd HH:mm:ss)
isflag - 是否容错处理(默认为是) 如 dateA 与 dateB 相同 返回 原方法相反值
返回:
boolean

isBefore

public static boolean isBefore(java.lang.String dateTimeA,
                               java.lang.String dateTimeB)

isAfter

public static boolean isAfter(java.lang.String dateTimeA,
                              java.lang.String dateTimeB,
                              boolean isflag)
日期比较(检查 dateTimeA 是否在 dateTimeB 之后)

参数:
dateTimeA - 日期时间A(yyyy-MM-dd HH:mm:ss)
dateTimeB - 日期时间B(yyyy-MM-dd HH:mm:ss)
isflag - 是否容错处理(默认为是),如 dateA 与 dateB 相同 返回 原方法相反值
返回:
boolean

isAfter

public static boolean isAfter(java.lang.String dateTimeA,
                              java.lang.String dateTimeB)

between

public static int between(java.util.Date startDate,
                          java.util.Date endDate,
                          java.util.Date thisDate)
日期判断(检查某日期是否在某两个日期之间)

参数:
startDate - 开始时间(yyyy-MM-dd HH:mm:ss)
endDate - 结束时间(yyyy-MM-dd HH:mm:ss)
thisDate - 当前时间(yyyy-MM-dd HH:mm:ss)
返回:
int 0:格式出错 1:进行中 2:已结束 3:未开始

between

public static int between(java.lang.String startTime,
                          java.lang.String endTime,
                          java.lang.String thisTime)
日期判断(检查某日期是否在某两个日期之间)

参数:
startTime - 开始时间(yyyy-MM-dd HH:mm:ss)
endTime - 结束时间(yyyy-MM-dd HH:mm:ss)
thisTime - 当前时间(yyyy-MM-dd HH:mm:ss)
返回:
int 0:格式出错 1:进行中 2:已结束 3:未开始

between

public static int between(java.lang.String startTime,
                          java.lang.String endTime)