android 对不同日期和时间的格式方法的封装,46 道面试题带你了解高级 Android 面试
判断两个时间是否属于同一天
@param time1
@param time2
@return
*/
public boolean isSameDay(long time1, long time2) {
Calendar calen = Calendar.getInstance();
calen.setTimeInMillis(time1);
int day1 = calen.get(Calendar.DAY_OF_YEAR);
calen.setTimeInMillis(time2);
int day2 = calen.get(Calendar.DAY_OF_YEAR);
return day1 == day2;
}
/**
通过已知参数返回当前时间的年份
@param time
@return
*/
public int getYear(long time) {
Calendar calen = Calendar.getInstance();
calen.setTimeInMillis(time);
return calen.get(Calendar.YEAR);
}
/**
通过已知参数返回当前时间的分月(我能识别的 1,2,3...)
@param time
@return
*/
public int getMonth(long time) {
Calendar calen = Calendar.getInstance();
calen.setTimeInMillis(time);
return calen.get(Calendar.MONTH) + 1;
}
/**
通过已知参数返回当前时间的日期(月份的)
@param time
@return
*/
public int getDayOfMonth(long time) {
Calendar calen = Calendar.getInstance();
calen.setTimeInMillis(time);
return calen.get(Calendar.DAY_OF_MONTH);
}
/**
通过已知参数返回当前时间的日期(年份的)
@param time
@return
*/
public int getDayOfYear(long time) {
Calendar calen = Calendar.getInstance();
calen.setTimeInMillis(time);
return calen.get(Calendar.DAY_OF_YEAR);
}
/**
通过给定的时间,返回我想要的日期形式
@param time
@return
*/
public String getMyDate(long time) {
return getMonth(time) + "月/" + getDayOfMonth(time);
}
/**
通过给定的时间,返回我想要的日期形式
@param time
@return
*/
public String getMyDateOne(long time) {
return getMonth(time) + "-" + getDayOfMonth(time);
}
/**
通过给定时间,返回小时和分钟的时间形式
@param time
@return
*/
public String getHourMinute(long time) {
Calendar calen = Calendar.getInstance();
calen.setTimeInMillis(time);
String hour = calen.get(Calendar.HOUR_OF_DAY) + "";
String minute = calen.get(Calendar.MINUTE) + "";
if (minute.length() == 1) {
minute = "0" + minute;
}
return hour + ":" + minute;
}
/**
@param time
@return
@描述:得到小时的时间形式
*/
public String getHour(long time) {
Calendar calen = Calendar.getInstance();
calen.setTimeInMillis(time);
String hour = calen.get(Calendar.HOUR_OF_DAY) + "";
return hour;
}
/**
@param time
@return
@描述:得到分钟的时间形式
*/
public String getMinute(long time) {
Calendar calen = Calendar.getInstance();
calen.setTimeInMillis(time);
String minute = calen.get(Calendar.MINUTE) + "";
return minute;
}
/**
@param time
@return
@描述:得到固定格式的月和日 07-13
*/
public String getDateTime(long time) {
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd");
return sdf.format(new Date(time));
}
/**
@param time
@return
@描述:得到固定格式的月和日 2015-07-13
*/
public String getYearOrMonthOrDay(long time) {
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd");
return sdf.format(new Date(time));
}
/**
@param time
@return
@描述:得到固定格式的分和秒 10:30
*/
public String getMinuteOrSeconds(long time) {
SimpleDateFormat sdf = new SimpleDateFormat("hh:mm");
return sdf.format(new Date(time));
}
/**
@param time
@return
@描述:得到固定格式的月和日
*/
public String getDayOrMonthOrYear(long time) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
return sdf.format(new Date(time));
}
/**
@param time
@return
@描述:得到固定格式的月和日
*/
public String getDayOrMonthOrYear2(long time) {
SimpleDateFormat sdf = new SimpleDateFormat("MM 月 dd 日");
return sdf.format(new Date(time));
}
public String getDayOrMonthOrYear1(long time) {
SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm");
return sdf.format(new Date(time));
}
/**
@param time
@return
@描述:得到固定格式的月和日 27/01/16
*/
public String getCollectionDate(long time) {
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
return sdf.format(new Date(time));
}
public String dateFormat2(Date date){
return new SimpleDateFormat("yyyy 年-MM 月-dd 日 HH:mm:ss", Locale.getDefault()).format(date);
}
/**
计算 long 类型的时间是一天的下午还是上午
HH 是 24 小时制的时间
hh 是 12 小时制的时间
@param time
@return
*/
public String getTimeDifference(long time){
SimpleDateFormat sdf = new SimpleDateFormat("HH");
int hour = Integer.parseInt(sdf.format(new Date(time)));
System.out.println("hour = "+hour);
if (hour<=12){
return "AM";
}else{
return "PM";
}
}
/**
计算 long 类型的时间是一天的下午还是上午
HH 是 24 小时制的时间
hh 是 12 小时制的时间
@param time
@return
*/
public String getTimeDifferences(long time){
SimpleDateFormat sdf = new SimpleDateFormat("HH:MM");
int hour = Integer.parseInt(sdf.format(new Date(time)));
System.out.println("hour = "+hour);
if (hour<=12){
评论