【java基础】随手写的一个日期计算,新手可以看看
2015-07-24 00:17
681 查看
随手写的一个例子, 只是练习下自己的代码布局以及思路.. 1. 先写下简单的测试 2. 根据常用的不用修改的变量抽取出来, 作为常量(常量的命名可能有点不规范,谅解~) 3. 方法的作用不一样, 抽取出来做不一样的动作. 4. 好久没写代码了, 生了... 最近在弄js什么的, 醉了~ 慢慢来吧 ... 就是一个简单的例子,能用就拿走... 5. 菜鸟代码, 不喜勿喷
/** * 生命计算 * * @author Toolo * @date 2015-07-24 */ public class Life { public static DateFormat dfmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); public static final int INT_CONSTANT_SECONDS = 1000; public static final int INT_CONSTANT_POINTS = 60; public static final double INT_CONSTANT_HOUR = 60.0; public static final double INT_CONSTANT_DAY = 24.0; public static final double INT_CONSTANT_YEAR = 365.0; public static final double INT_CONSTANT_MONTH = 12.0; private static long difference; /** * 方法说明: testMain * * @author Toolo * @date 2015-07-24 * @param args */ public static void main(String[] args) { try { difference = getTimeDifference("1992-10-22 22:31:40"); } catch (ParseException e) { System.err.println("时间格式转换错误!"); e.printStackTrace(); } long second = getTimeSecond(difference); long points = getTimePoints(second); double hour = getTimeHour(points); double day = getTimeDay(hour); double year = getTimeYear(day); double month = getTimeMonth(year); System.out.println("我在这个世界上生活了[" + second + "]秒"); System.out.println("我在这个世界上生活了[" + points + "]分"); System.out.println("我在这个世界上生活了[" + hour + "]时"); System.out.println("我在这个世界上生活了[" + day + "]天"); System.out.println("我在这个世界上生活了[" + month + "]月"); System.out.println("我在这个世界上生活了[" + year + "]年"); } /** * 方法说明: 获取时间差的的月 * * @author Toolo * @date 2015-07-24 * @param day * @return */ private static double getTimeMonth(double year) { return year * INT_CONSTANT_MONTH; } /** * 方法说明: 获取时间差的的年 * * @author Toolo * @date 2015-07-24 * @param day * @return */ private static double getTimeYear(double day) { return day / INT_CONSTANT_YEAR; } /** * 方法说明: 获取时间差的的天数 * * @author Toolo * @date 2015-07-24 * @param hour * @return */ private static double getTimeDay(double hour) { return hour / INT_CONSTANT_DAY; } /** * 方法说明: 获取时间差的的小时 * * @author Toolo * @date 2015-07-24 * @param hour * @return */ private static double getTimeHour(double hour) { return hour / INT_CONSTANT_HOUR; } /** * 方法说明: 获取时间差的的分钟 * * @author Toolo * @date 2015-07-24 * @param second * @return */ private static long getTimePoints(long second) { return second / INT_CONSTANT_POINTS; } /** * 方法说明: 获取时间差的秒数 * * @author Toolo * @date 2015-07-24 * @param difference * @return */ private static long getTimeSecond(long difference) { return difference / INT_CONSTANT_SECONDS; } /** * 方法说明: 获取时间差 * * @author Toolo * @date 2015-07-24 * @param longTime * 要计算的时间 * @return long 时间 * @throws ParseException */ private static long getTimeDifference(String longTime) throws ParseException { Calendar calendar = Calendar.getInstance(); Date d1 = dfmt.parse(longTime); long nowTime = System.currentTimeMillis(); calendar.setTimeInMillis(nowTime); System.err.println("现在的北京时间是[" + calendar.getTime() + "]整"); System.err.println("你要计算的时间是[" + d1 + "](阳历)"); return nowTime - d1.getTime(); } }
相关文章推荐
- struts框架实现登录
- eclipse常用快捷键
- JAVA-IO-PrintWriter
- JavaFX如何显示多个Stage窗口
- 工具相关——Eclipse构建JNI项目
- Windows 7下安装jdk
- Eclipse下安装Pydev以及Helloworld实例
- Struts2获取ServletApi对象的4种方法
- java正则表达式 --简单认识
- java 实现IP访问量控制
- JAVA基础之反射(下)
- jpda 远程调试 java程序
- springmvc+spring+mybatis 整合
- spring容器加载完毕做一件事情(利用ContextRefreshedEvent事件)
- java RMI
- Java Beans
- java高精度
- Struts2的优化
- java中常用的字符串的截取方法 (2011-03-17 00:41:31)
- 关于javaEclipse链接MySQL数据库的几条语句