TimeUtil,时间处理
程序员文章站
2022-05-29 23:45:23
...
最近做了一个时间控件,里面用到的Java时间相关的API,于是就整理了一样,愿和大家分享。
授人以鱼不如授人以渔,真正了解API,才能更加灵活的进行时间的使用和时间格式的转换。主要涉及的类有Date,Calendar,DateFormate。
Java API地址:Java API地址
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
/*
* 时间工具类
* */
public class TimeUtil {
// 获取年
public static int getYear(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
int year = calendar.get(Calendar.YEAR);
return year;
}
// 获取指定格式时间的年
public static int getYear(String time, DateFormat format) {
int year = 0;
try {
Date date = format.parse(time);
long t = date.getTime();
year = getYear(t);
} catch (ParseException e) {
e.printStackTrace();
}
return year;
}
// 获取月
public static int getMonth(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
int month = calendar.get(Calendar.MONTH);
return month+1;
}
// 获取日
public static int getDay(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
int day = calendar.get(Calendar.DAY_OF_MONTH);
return day;
}
// 获取时
public static int getHour(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
// 24制时间
int hour = calendar.get(Calendar.HOUR_OF_DAY);
// 12制时间
// int hour = calendar.get(Calendar.HOUR);
return hour;
}
// 获取分
public static int getMinuth(long time) {
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(time);
int minuth = calendar.get(Calendar.MINUTE);
return minuth;
}
// 把一种格式的时间转成另外一种格式
public static String timeTransfer(String time, DateFormat sourceFormat,
DateFormat targetFormat) {
long t = getTime(time, sourceFormat);
time = getTime(t, targetFormat);
return time;
}
// 把String类型的时间转换成long型时间
public static long getTime(String time, DateFormat format) {
long t = 0;
try {
Date date = format.parse(time);
t = date.getTime();
} catch (ParseException e) {
e.printStackTrace();
}
return t;
}
// 把long类型的时间转换成String型时间
public static String getTime(long time, DateFormat format) {
String t = format.format(time);
return t;
}
}
// 获取某年某个月的天数
public static int getDayofMouth(long time) {
Calendar calendar = Calendar.getInstance();
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
return days;
}
// 获取某年某个月的天数
public static int getDayofMouth(int year, int mouth) {
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH,mouth-1);
int days = calendar.getActualMaximum(Calendar.DAY_OF_MONTH);
return days;
}
不足之处,希望各位大神,能够给予批评和指正!
上一篇: 两个时间相减