/**
-
匹配字符串首次出现的yyyy-mm-dd hh:mm:ss格式的时间
-
@param str
-
@return
*/
public static String getTime( String str ) {
String reg = “\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}”;
Pattern MobilePhonePattern = Pattern.compile( reg );
Matcher m = MobilePhonePattern.matcher( str );
while( m.find() ) {
return m.group().trim();
}
return null;
}
/**
-
把字符串按格式转换成Date对象
-
@param text
-
@param pattern
-
@return
*/
public static Date parse( String text, String pattern ) {
SimpleDateFormat format = new SimpleDateFormat( pattern );
try {
return format.parse( text );
} catch( ParseException e ) {
return null;
}
}
/**
-
默认用yyyy-MM-dd HH:mm:ss的格式进行转换
-
@param text
-
@return
*/
public static Date parse( String text ) {
SimpleDateFormat format = new SimpleDateFormat( PATTERN_LONG );
try {
return format.parse( text );
} catch( ParseException e ) {
return null;
}
}
/**
-
获取 当前时间
-
@return
*/
@Deprecated
public static Date getNow() {
return DATE_LOCAL.get().getTime();
}
/**
-
获取当前时间
-
@return
*/
public static Date now() {
return new Date();
}
/**
-
判断日期是否为今天
-
@param date
-
@return
*/
public static boolean isToday( Date date ) {
if( date == null ) {
return false;
}
Date now = getNow();
return formatDate( now, PATTERN_B ).equals( formatDate( date, PATTERN_B ) );
}
/**
-
判断日期是否为昨天
-
@param date
-
@return
*/
public static boolean isYesterday( Date date ) {
if( date == null ) {
return false;
}
Date now = getNow();
return formatDate( DateUtils.addDays( now, -1 ), PATTERN_B ).equals( formatDate( date, PATTERN_B ) );
}
/**
-
计算两个日期之间相差日期天数(如:2014-10-09与2014-10-10相差一天)
-
@param sd
-
@param ed
*/
public static int diffDateDay( Date sd, Date ed ) {
Calendar calendar = Calendar.getInstance();
calendar.setTime( sd );
int sDay = calendar.get( Calendar.DAY_OF_YEAR );
int sYear = calendar.get( Calendar.YEAR );
calendar.setTime( ed );
int eDay = calendar.get( Calendar.DAY_OF_YEAR );
int eYear = calendar.get( Calendar.YEAR );
// 每年的天数
int oneYearDays = 365;
if( ( sYear % 4 == 0 && sYear % 100 != 0 ) || sYear % 400 == 0 ) {
// 润年366天
oneYearDays = 366;
}
return ( eYear - sYear ) * oneYearDays + eDay - sDay;
}
public static Date toLocalDate( Date GMT ) throws ParseException {
String localDateStr = formatDate( GMT );
return parse( localDateStr );
}
public static Date getStartTime( Date date ) {
Calendar today = Calendar.getInstance();
today.setTime( date );
today.set( Calendar.HOUR_OF_DAY, 0 );
today.set( Calendar.MINUTE, 0 );
today.set( Calendar.SECOND, 0 );
today.set( Calendar.MILLISECOND, 0 );
return today.getTime();
}
public static Date getEndTime( Date date ) {
Calendar today = Calendar.getInstance();
today.setTime( date );
today.set( Calendar.HOUR_OF_DAY, 23 );
today.set( Calendar.MINUTE, 59 );
today.set( Calendar.SECOND, 59 );
today.set( Calendar.MILLISECOND, 999 );
return today.getTime();
}
public static Date getDayStartTime( int offset ) {
Calendar today = Calendar.getInstance();
today.add( Calendar.DAY_OF_MONTH, offset );
today.set( Calendar.HOUR_OF_DAY, 0 );
today.set( Calendar.MINUTE, 0 );
today.set( Calendar.SECOND, 0 );
today.set( Calendar.MILLISECOND, 0 );
return today.getTime();
}
public static Date getMonthStartTime( int offset ) {
Calendar today = Calendar.getInstance();
today.add( Calendar.MONTH, offset );
today.set( Calendar.HOUR_OF_DAY, 0 );
today.set( Calendar.MINUTE, 0 );
today.set( Calendar.SECOND, 0 );
today.set( Calendar.MILLISECOND, 0 );
return today.getTime();
}
public static Date getDayEndTime( int offset ) {
Calendar todayEnd = Calendar.getInstance();
todayEnd.add( Calendar.DAY_OF_MONTH, offset );
todayEnd.set( Calendar.HOUR_OF_DAY, 23 );
todayEnd.set( Calendar.MINUTE, 59 );
todayEnd.set( Calendar.SECOND, 59 );
todayEnd.set( Calendar.MILLISECOND, 999 );
return todayEnd.getTime();
}
public static Date getHourTime( long timestamp ) {
Calendar cal = Calendar.getInstance();
cal.setTime( new Date( timestamp ) );
cal.set( Calendar.MINUTE, 0 );
cal.set( Calendar.SECOND, 0 );
cal.set( Calendar.MILLISECOND, 0 );
return cal.getTime();
}
public static Date getTodayHourDate( int hour ) {
Calendar todayEnd = Calendar.getInstance();
todayEnd.set( Calendar.HOUR_OF_DAY, hour );
todayEnd.set( Calendar.MINUTE, 0 );
读者福利
更多笔记分享
加入社区:https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0
public static Date getTodayHourDate( int hour ) {
Calendar todayEnd = Calendar.getInstance();
todayEnd.set( Calendar.HOUR_OF_DAY, hour );
todayEnd.set( Calendar.MINUTE, 0 );
读者福利
[外链图片转存中…(img-fIGK7XPj-1725641514788)]
更多笔记分享
[外链图片转存中…(img-YqU1tpys-1725641514788)]
加入社区:https://bbs.youkuaiyun.com/forums/4304bb5a486d4c3ab8389e65ecb71ac0