android 获取系统时间的时间戳 ,时间戳日期互转,计算日期时间差,获取明天日期,比较时间大小

 

 

long creatTime=mBindCheck.remainPaymentTime;
int shi = (int)mBindCheck.remainPaymentTime/(3600*1000);
int yu1 = (int)mBindCheck.remainPaymentTime%(3600*1000);
int fen = (int)yu1/(60*1000);
int yu2 = (int)yu1%(60*1000);
int mia = (int)yu2/1000;

 获取系统时间戳

public String getTime(){
    long time=System.currentTimeMillis()/1000;//获取系统时间的10位的时间戳
    String  str=String.valueOf(time);
    return str;
}

点击时间差

private long mTouchDownTime;//1000为1秒
mTouchDownTime = SystemClock.uptimeMillis();
if (SystemClock.uptimeMillis() - mTouchDownTime < RANGE_TOUCH_MOVE_INTERVAL) {
    return;
}

、获取系统时间

 
SimpleDateFormat df = new SimpleDateFormat("HH");//设置日期格式"yyyy年-MM月dd日-HH时mm分ss秒"

String dfd = df.format(new Date());


结果如下

2017年-05月26日-14时49分29秒

时间戳转换日期

public static String timetodate(String time) {
    Calendar calendar = Calendar.getInstance();
    calendar.setTimeInMillis(Long.valueOf(time));
    SimpleDateFormat sf = new SimpleDateFormat("MM-dd ");//这里的格式可换"yyyy年-MM月dd日-HH时mm分ss秒"等等格式

    String date = sf.format(calendar.getTime());
    return date;

}

时间日期转换成时间戳

/*
   * 将时间转换为时间戳
   */
public static String dateToStamp(String s) throws ParseException {
    String res;
    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date date = simpleDateFormat.parse(s);
    long ts = date.getTime();
    res = String.valueOf(ts);
    return res;
}

/**
 * 四舍五入到小数点后scale位
 * @param v
 * @param scale
 * @return
 */
public static float round(float v, int scale)
{
    if (scale < 0)
        throw new IllegalArgumentException("The scale must be a positive integer or zero");

    BigDecimal bgNum1 = new BigDecimal(Float.toString(v));
    BigDecimal bgNum2 = new BigDecimal("1");
    return bgNum1.divide(bgNum2, scale, BigDecimal.ROUND_HALF_UP).floatValue();
    // return b.setScale(scale, BigDecimal.ROUND_HALF_UP).floatValue();
}

转换日期时间格式

public static String getDistanceTimeToHM(String str1) {
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    String typestring = "yyyy-MM-dd HH:mm";
    String endtime="";
    Date one;
    try {
        one = df.parse(str1);
        endtime = dateToString(one,typestring);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return endtime;
}
public static String dateToString(Date data, String formatType) {
    return new SimpleDateFormat(formatType).format(data);
}

如2017-11-01 09:16:03.0转换后是2017-11-01 09:16

计算两个日期时间差,天数,时、分、秒、

public  int getDistanceTime(String end, String start) {
    DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
    Date one;
    Date two;
    long day = 0;
    long hour = 0;
    long min = 0;
    long sec = 0;
    try {

        final Calendar c = Calendar.getInstance();
        c.setTimeZone(TimeZone.getTimeZone("GMT+8:00"));

        one = df.parse(end);
        c.setTime(one);
        two = df.parse(start);
        long time1 = one.getTime();
        long time2 = two.getTime();
        long diff ;
        diff = time1 - time2;

        day = diff / (24 * 60 * 60 * 1000);//天数
        Log.i("lgq","tian--==="+day+"...one="+end+"..-----.two==="+start);
        hour = (diff / (60 * 60 * 1000) - day * 24);//时
        min = ((diff / (60 * 1000)) - day * 24 * 60 - hour * 60);//分
        sec = ((diff/1000)- day * 24 * 60 * 60 - hour * 60 * 60 - min * 60);
    } catch (ParseException e) {
        e.printStackTrace();
    }
    return (int)sec;
}

获取明天日期

 //获得明天日期
      private String getTomoData(){
          
      // 添加大小月月份并将其转换为list,方便之后的判断
        String[] months_big = { "1", "3", "5", "7", "8", "10", "12" };
        String[] months_little = { "4", "6", "9", "11" };
 
        List<String> list_big = Arrays.asList(months_big);
        List<String> list_little = Arrays.asList(months_little);
          
          Calendar calendar = Calendar.getInstance();
          int year = calendar.get(Calendar.YEAR);
          int month = calendar.get(Calendar.MONTH)+1;
          int day = calendar.get(Calendar.DATE);
          if(day==30){
              if (list_big.contains(String.valueOf(month))){
                  day=31;
              }
              if (list_little.contains(String.valueOf(month))){
                  day=1;
                  if(month==12){
                      year++;
                      month=1;
                  }else{
                      month++;
                  }
                  
              }
          }else if(day==31){
              day=1;
              if(month==12){
                  year++;
                  month=1;
              }else{
                  month++;
              }
              
          }else {
              day++;
          }
          String data;
          if( day<10)
          {
              
               data=year+"-"+"0"+month+"-"+"0"+day;
          }
          else
          {
              data=year+"-"+"0"+month+"-"+day;
        }
        
          return data;
      }

比较时间大小/

/**
 * 对比两个时间
 *
 * @param startTimedama
 * @param endTime
 * @return
 */
public static boolean getTimeCompareSize(String startTimedama, String endTime) {
    int i = 0;
    SimpleDateFormat dateFormat = new SimpleDateFormat("MM月dd日 HH:mm:ss");//年-月-日 时-分
    try {
        Date date1 = dateFormat.parse(startTime);//开始时间
        Date date2 = dateFormat.parse(endTime);//结束时间
        // 1 结束时间小于开始时间 2 开始时间与结束时间相同 3 结束时间大于开始时间
        if (date2.getTime() < date1.getTime()) {
            i = 1;
        } else if (date2.getTime() == date1.getTime()) {
            i = 2;
        } else if (date2.getTime() > date1.getTime()) {
            //正常情况下的逻辑操作.
            i = 3;
        }
    } catch (ParseException e) {
        e.printStackTrace();
    }
    if (i == 1 || i == 2) {
        return true;
    } else {
        return false;
    }
}

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值