获取时间/日期工具类:格式化日期,获取当前时间,指定时间,上一月,指定时间的毫秒数
2017-07-24 17:45
369 查看
import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class DateTimeUtils { // 默认显示日期的格式 public static final String DATE_FORMAT = "yyyy-MM-dd"; // 默认显示日期时间的格式 public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss"; // 默认显示日期时间的格式 public static final String DATE_TIME_MILLIS_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS"; // 显示年月日时分的格式 public static final String DATE_TIME_MINUTE_FORMAT = "yyyy-MM-dd HH:mm"; private final static DateFormat mDateFormat = new SimpleDateFormat(DATE_FORMAT); private final static DateFormat mDateTimeFormat = new SimpleDateFormat(DATE_TIME_FORMAT); private final static DateFormat mDateTimeMillisFormat = new SimpleDateFormat(DATE_TIME_MILLIS_FORMAT); private final static DateFormat mDataTimeMinuteFormat = new SimpleDateFormat(DATE_TIME_MINUTE_FORMAT); /** * @see 获取当前时间年份 */ public static int GetYear() { return Calendar.getInstance().get(Calendar.YEAR); } /** * @see 获取指定时间年份 */ public static int GetYear(long time) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(time); return calendar.get(Calendar.YEAR); } /** * @see 获取上一个月的年份 */ public static int GetYearByLastMonth() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, -1); return calendar.get(Calendar.YEAR); } /** * @see 获取当前时间月份 */ public static int GetMonth() { return Calendar.getInstance().get(Calendar.MONTH) + 1; } /** * @see 获取上一个月的月份 */ public static int GetLastMonth() { Calendar calendar = Calendar.getInstance(); calendar.add(Calendar.MONTH, -1); return calendar.get(Calendar.MONTH) + 1; } /** * @see 获取指定时间月份 */ public static int GetMonth(long time) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(time); return calendar.get(Calendar.MONTH) + 1; } /** * @see 获取当前时间日期 */ public static int GetMonthDay() { return Calendar.getInstance().get(Calendar.DAY_OF_MONTH); } /** * @see 获取指定时间日期 */ public static int GetMonthDay(long time) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(time); return calendar.get(Calendar.DAY_OF_MONTH); } /** * @see 获取当前时间:Hour */ public static int GetHour() { return Calendar.getInstance().get(Calendar.HOUR_OF_DAY); } /** * @see 获取指定时间:Hour */ public static int GetHour(long time) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(time); return calendar.get(Calendar.HOUR_OF_DAY); } /** * @see 获取当前时间:Minute */ public static int GetMinute() { return Calendar.getInstance().get(Calendar.MINUTE); } /** * @see 获取指定时间:Minute */ public static int GetMinute(long time) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(time); return calendar.get(Calendar.MINUTE); } /** * @see 获取当前时间:Second */ public static int GetSecond() { return Calendar.getInstance().get(Calendar.SECOND); } /** * @see 获取指定时间:Second */ public static int GetSecond(long time) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(time); return calendar.get(Calendar.SECOND); } /** * @see 获取当前时间:Week */ public static int GetWeek() { return Calendar.getInstance().get(Calendar.DAY_OF_WEEK); } /** * @see 获取指定时间:Week */ public static int GetWeek(long time) { Calendar calendar = Calendar.getInstance(); calendar.setTimeInMillis(time); return calendar.get(Calendar.DAY_OF_WEEK); } /** * @see 是否为当月的第一天 */ public static boolean IsFristDayInMonth() { return 1 == GetMonthDay(); } /** * @see 是否为当月的第一天 */ public static boolean IsFristDayInMonth(long time) { return 1 == GetMonthDay(time); } /** * @see 是否为当年的第一月 */ public static boolean IsFristMonthInYear() { return 1 == GetMonth(); } /** * @see 是否为当年的第一月 */ public static boolean IsFristMonthInYear(long time) { return 1 == GetMonth(time); } /** * @see 当前时间 => 日期字符串 : 年-月-日 */ public static String GetDateString() { return mDateFormat.format(new Date()); } /** * @see 指定时间 => 日期字符串 : 年-月-日 */ public static String ConvertToDateString(long time) { return mDateFormat.format(new Date(time)); } /** * @see 日期字符串 => 指定时间 */ public static Date ConvertToDate(String date) throws Exception { return mDateFormat.parse(date); } /** * @see 当前时间 => 时间字符串 : 年-月-日 时:分:秒 */ public static String GetDateTimeString() { return mDateTimeFormat.format(new Date()); } /** * @see 指定时间 => 时间字符串 : 年-月-日 时:分:秒 */ public static String ConvertToDateTimeString(long time) { return mDateTimeFormat.format(new Date(time)); } /** * @see 时间字符串 => 指定时间 年:月:日 */ public static Date ConvertToDateTime(String date) throws Exception { return mDateTimeFormat.parse(date); } /** * @see 时间字符串 => 指定时间 年:月:日 时:分:秒 */ public static long ConvertToLongTimeWithDateTime(String dateTime) { try { return ConvertToDateTime(dateTime).getTime(); } catch (Exception e) { e.printStackTrace(); } return 0; } /** * @see 时间字符串 => 指定时间 */ public static long ConvertToLongTimeWithDate(String date) { try { return ConvertToDate(date).getTime(); } catch (Exception e) { e.printStackTrace(); } return 0; } /** * @see 获取时间字符串:年-月-日 时:分:秒.毫秒 */ public static String GetDateTimeMillisString() { return mDateTimeMillisFormat.format(new Date()); } /** * @see 获取时间字符串:年-月-日 时:分 */ public static String GetDateTimeMinuteString() { return mDataTimeMinuteFormat.format(new Date()); } /** * @return 昨日指定时间的毫秒数(24小时制) */ public static long GetYesterdaywAppointedTime(int hour, int minute, int second) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, hour); calendar.set(Calendar.MINUTE, minute); calendar.set(Calendar.SECOND, second); calendar.set(Calendar.MILLISECOND, 0); calendar.add(Calendar.DAY_OF_MONTH, -1); return calendar.getTimeInMillis(); } /** * @return 今日指定时间的毫秒数(24小时制) */ public static long GetTodayAppointedTime(int hour, int minute, int second) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, hour); calendar.set(Calendar.MINUTE, minute); calendar.set(Calendar.SECOND, second); calendar.set(Calendar.MILLISECOND, 0); return calendar.getTimeInMillis(); } /** * @return 明日指定时间的毫秒数(24小时制) */ public static long GetTomorrowAppointedTime(int hour, int minute, int second) { Calendar calendar = Calendar.getInstance(); calendar.set(Calendar.HOUR_OF_DAY, hour); calendar.set(Calendar.MINUTE, minute); calendar.set(Calendar.SECOND, second); calendar.set(Calendar.MILLISECOND, 0); calendar.add(Calendar.DAY_OF_MONTH, +1); return calendar.getTimeInMillis(); } /** * @return 获取周日24点的时间 */ public static long GetSundayZeroTime() { Calendar calendar = Calendar.getInstance(); if (calendar.get(Calendar.DAY_OF_WEEK) > Calendar.SUNDAY) { calendar.add(Calendar.WEEK_OF_MONTH, 1); } calendar.set(Calendar.DAY_OF_WEEK, Calendar.MONDAY); calendar.set(Calendar.HOUR_OF_DAY, 0); calendar.set(Calendar.MINUTE, 0); calendar.set(Calendar.SECOND, 0); calendar.s 4000 et(Calendar.MILLISECOND, 0); return calendar.getTimeInMillis(); } /** * @see 获取当前日期与指定日期相差的天数 */ public static int CompareByDay(String date) { try { return (int) (((new Date()).getTime() - ConvertToDate(date).getTime()) / (24 * 60 * 60 * 1000)); } catch (Exception e) { e.printStackTrace(); return -1; } } /** * @see 是否为同一月 */ public static boolean IsCurrentMonth(long time) { return GetYear() == GetYear(time) && GetMonth() == GetMonth(time); } /** * @see 是否为同一天 */ public static boolean IsCurrentDay(long time) { return IsCurrentMonth(time) && GetMonthDay() == GetMonthDay(time); } /** * @see 根据上月总天数 */ public static int GetLastMonthDays() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.DAY_OF_MONTH, 1); cal.add(Calendar.DAY_OF_MONTH, -1); return cal.get(Calendar.DAY_OF_MONTH); } /** * @see 获取当月总天数 */ public static int GetCurrentMonthDays() { Calendar a = Calendar.getInstance(); a.set(Calendar.DATE, 1); a.roll(Calendar.DATE, -1); return a.get(Calendar.DATE); } }
相关文章推荐
- js获取当前时间以及日期格式化
- js获取当前指定的前几天的日期(如当前时间的前七天的日期)
- 【转】Js获取当前日期时间及格式化操作
- Smarty 获取当前日期时间和格式化日期时间
- oracle获取当前时间,精确到毫秒并指定精确位数的实现方法
- 时间格式化以及获取当前时间,利用日期生成随机数字
- JS获取当前日期和时间的方法,并按照YYYY-MM-DD格式化
- PHP获取当前日期和时间格式化方法
- PHP获取当前日期和时间格式化方法
- android 字符串工具类 格式化日期字符串 拼接数组 判断字符串是否为空 转换时间显示 转换文件大小 获取中英文字符个数
- java中获取当前系统时间,日期并格式化输出
- java中获取当前系统时间,日期并格式化输出
- JS日期,JS获取当前日期时间,js日期格式化
- PHP获取当前日期和时间及格式化方法参数
- 【转】Js获取当前日期时间及格式化操作
- C#获取指定月指定周的日期范围 根据当前时间获取本月开始日期和结束日期
- js根据当前时间获取指定范围内的时间段日期
- 【转】js获取当前指定的前几天的日期(如当前时间的前七天的日期)
- PHP获取当前日期和时间格式化方法
- JS获取当前日期和时间的方法,并按照YYYY-MM-DD格式化