您的位置:首页 > 其它

获取时间/日期工具类:格式化日期,获取当前时间,指定时间,上一月,指定时间的毫秒数

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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息