package com.roshi.utils.common;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
public class DateUtilsCom {
/**
* 格式化时间 
* @param date
* @return
* @author lzq
* @throws ParseException 
* @date 2016年10月14日
*/
public static String timeFormat(Date date) throws ParseException{
SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd");
String str="";
long from = date.getTime();  
String d=new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
long to = simpleFormat.parse(d).getTime();  
int day = (int) ((to - from)/(1000 * 60 * 60 * 24));  
// long hour=(l/(60*60*1000)-day*24);
day = Math.abs(day);
if(day==0){
str="今天";
}
if(day>0&&day<=6){
str=day+"天";
}
if(day>6&&day<30){
str=day/7+"周";
}
if(day>=30){
long a = day/30;
str=a+"个月";
if(a>=12){
str=a/12+"年";
}
}
return str;
}
/**
* 格式化时间 
* @param date
* @return
* @author lzq
* @throws ParseException 
* @date 2016年10月14日
*/
public static String timeFormat(String time) throws ParseException{
SimpleDateFormat simpleFormat = new SimpleDateFormat("yyyy-MM-dd");
String str="";
long from = simpleFormat.parse(time).getTime();  
String d=new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
long to = simpleFormat.parse(d).getTime();  
int day = (int) ((to - from)/(1000 * 60 * 60 * 24));  
// long hour=(l/(60*60*1000)-day*24);
day = Math.abs(day);
if(day==0){
str="今天";
}
if(day>0&&day<=6){
str=day+"天";
}
if(day>6&&day<30){
str=day/7+"周";
}
if(day>=30){
long a = day/30;
str=a+"个月";
if(a>=12){
str=a/12+"年";
}
}
return str;
}
public static void main(String [] args) throws ParseException{
String d1 = "2016-10-14";
String d2 = "2016-10-15";
/* 先转成毫秒并求差 */
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String d=new SimpleDateFormat("yyyy-MM-dd").format(Calendar.getInstance().getTime());
long m = sdf.parse(d).getTime()- sdf.parse(d2).getTime();
/* 根据你的需求进行单位转换 */
System.out.println("相差毫秒数:"+ m );
System.out.println("相差天数:"+ ( m / (1000 * 60 * 60 * 24) ) );
String strDate = "2016-10-25";
Date date=sdf.parse(strDate);
System.out.println(timeFormat("2016-10-13"));
}
}

转载于:https://www.cnblogs.com/lizuoqi/p/5977771.html

java 格式化时间计算相关推荐

  1. JAVA之时间计算,键盘录入时间间隔得到未来时间

    1.输入:小时数.分钟数 2.得到以当前时间为基准的未来时间 import java.text.SimpleDateFormat; import java.util.Date; import java ...

  2. Java常用时间计算

    时间计算 int num = 80;SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ...

  3. Java 格式化时间与时间戳与时间间隔

    目录 格式化日期 SimpleDateFormat 日期转换为字符串 字符串转日期 Calendar格式化 LocalDate格式化 时间戳(timestamp) 获取当前时间戳 时间戳转日期 计算时 ...

  4. Java 格式化时间

    使用SimpleDateFormat类的format(date)方法格式化当前时间. 完整代码 import java.text.SimpleDateFormat; import java.util. ...

  5. java格式化时间字符串 毫秒_SimpleDateFormat是否有格式字符串来获取毫秒日期时间值,而不是人类可读的格式?...

    旧的和过时的 SimpleDateFormat 类不能这样做.它的替代品,现代的 DateTimeFormatter ,可以. DateTimeFormatter epochMilliFormatte ...

  6. java格式化时间到微秒_Java日期解析具有微秒或纳秒精度

    TL;博士 LocalDateTime.parse( // With resolution of nanoseconds, represent the idea of a date and time ...

  7. java 格式化时间 小时_java格式化时间示例

    实现日期的格式化,需要用到类: java.text.DateFormat DateFormat没有可以直接使用的构造函数,一般使用DateFormate的子类---java.text.SimpleDa ...

  8. java 中时间计算_java中关于时间的计算

    1.描述:在原有时间上增加一个时间差: 代码示例: Date psd = sysDate(); String workTimeP1 = mapP.get("WORK_TIME_") ...

  9. java格式化时间博客园_Java 日期格式化工具类

    importjava.text.ParseException;importjava.text.SimpleDateFormat;importjava.util.Calendar;importjava. ...

最新文章

  1. qlabel 边加载边更新_普及一下什么是超窄边液晶拼接屏
  2. 2012年08月13日
  3. 16、HTML密码框
  4. 【机器视觉】 throw算子
  5. 【android开发】 修改控件Spinner内容的字体大小 颜色等属性
  6. 挡土墙计算软件_广联达软件如何计算钢板止水带?
  7. win10关机后自动重启_Win10关机风扇还在转|解决win10关机后风扇继续转方法
  8. Tomcat映射虚拟路径到指定磁盘(eclipse)
  9. ORA-12899: value too large for column (actual: 27, maximum: 20)错误解决
  10. chmod简介及其使用方法
  11. 理解并取证:IPv6与IPv4在报文结构上的区别
  12. MATLAB websave批量下载(URL)
  13. Hinton,Lecun和Bengio三巨头联手再发万字长文:深度学习的过去、现在和将来
  14. 《舍不得看完的中国史》读书笔记
  15. Openbravo3.0 体系结构
  16. 2017 暑期实习校园招聘(Java后台开发方向)面经分享
  17. 页面浏览pdf或图片iframe
  18. 万字长文--详解Node.js(快速入门)
  19. CAD中插入外部参照字体会变繁体_为什么CAD图纸作为外部参照插入后有些文字消失?...
  20. CFileDialog的使用(MFC-C++)

热门文章

  1. java 抽样_Java编程实现二项分布的采样或抽样实例代码
  2. 存储器和寄存器数据传输(ARMv8)
  3. 频繁默认网关不可用_win10 总是默认网关不可用,怎么回事?
  4. mysql key_mysql 索引 key 的用法
  5. 基于java SSM springboot景区行李寄存管理系统设计和实现
  6. java用switch语句根据分数输出学生等级
  7. 让8只数码管从左往右显示1、2、3、4、、、8
  8. java逻辑编程题_用Java编程解决一道逻辑推理题
  9. django2与ajax,Python-Django-Ajax进阶2
  10. sencha app watch php,我的第一个基于SenchaTouch的WebApp