package com.ypx.imagepicker.utils;
|
|
import android.annotation.SuppressLint;
|
import android.content.Context;
|
|
import com.ypx.imagepicker.R;
|
import java.text.SimpleDateFormat;
|
import java.util.Calendar;
|
import java.util.Date;
|
|
|
/**
|
* 时间工具类
|
*/
|
@SuppressLint("SimpleDateFormat")
|
public class PDateUtil {
|
|
public static String getStrTime(Context context, long cc_time) {
|
if (cc_time == 0) {
|
return "";
|
}
|
if (String.valueOf(cc_time).length() <= 10) {
|
cc_time = cc_time * 1000L;
|
}
|
Date date = new Date(cc_time);
|
if (isToday(date)) {
|
return context.getString(R.string.picker_str_today);
|
}
|
if (isThisWeek(date)) {
|
return context.getString(R.string.picker_str_this_week);
|
}
|
if (isThisMonth(date)) {
|
return context.getString(R.string.picker_str_this_months);
|
}
|
return new SimpleDateFormat(context.getString(R.string.picker_str_time_format)).format(date);
|
}
|
|
//判断选择的日期是否是本周
|
private static boolean isThisWeek(Date date) {
|
Calendar calendar = Calendar.getInstance();
|
int currentWeek = calendar.get(Calendar.WEEK_OF_YEAR);
|
calendar.setTime(date);
|
int paramWeek = calendar.get(Calendar.WEEK_OF_YEAR);
|
return paramWeek == currentWeek;
|
}
|
|
//判断选择的日期是否是今天
|
private static boolean isToday(Date date) {
|
return isThisTime(date, "yyyy-MM-dd");
|
}
|
|
//判断选择的日期是否是本月
|
private static boolean isThisMonth(Date date) {
|
return isThisTime(date, "yyyy-MM");
|
}
|
|
private static boolean isThisTime(Date date, String pattern) {
|
SimpleDateFormat sdf = new SimpleDateFormat(pattern);
|
String param = sdf.format(date);//参数时间
|
String now = sdf.format(new Date());//当前时间
|
return param.equals(now);
|
}
|
|
|
/**
|
* 获取视频时长(格式化)
|
*/
|
public static String getVideoDuration(long timestamp) {
|
if (timestamp < 1000) {
|
return "00:01";
|
}
|
Date date = new Date(timestamp);
|
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("mm:ss");
|
return simpleDateFormat.format(date);
|
}
|
|
|
/*
|
* 毫秒转化
|
*/
|
public static String formatTime(Context context,Long ms) {
|
Integer ss = 1000;
|
Integer mi = ss * 60;
|
Integer hh = mi * 60;
|
Integer dd = hh * 24;
|
|
Long day = ms / dd;
|
Long hour = (ms - day * dd) / hh;
|
Long minute = (ms - day * dd - hour * hh) / mi;
|
Long second = (ms - day * dd - hour * hh - minute * mi) / ss;
|
long milliSecond = ms - day * dd - hour * hh - minute * mi - second * ss;
|
|
StringBuilder sb = new StringBuilder();
|
if (day > 0) {
|
sb.append(day).append(context.getString(R.string.picker_str_day));
|
}
|
if (hour > 0) {
|
sb.append(hour).append(context.getString(R.string.picker_str_hour));
|
}
|
if (minute > 0) {
|
sb.append(minute).append(context.getString(R.string.picker_str_minute));
|
}
|
if (second > 0) {
|
sb.append(second).append(context.getString(R.string.picker_str_second));
|
}
|
if (milliSecond > 0) {
|
sb.append(milliSecond).append(context.getString(R.string.picker_str_milli));
|
}
|
return sb.toString();
|
}
|
}
|