随手写的一个例子, 只是练习下自己的代码布局以及思路..
  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();
}
}

【java基础】随手写的一个日期计算,新手可以看看的更多相关文章

  1. Java实现 蓝桥杯 算法提高 日期计算

    算法提高 日期计算 时间限制:1.0s 内存限制:256.0MB 问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况.尤其是逢百年不闰,逢400年闰的情 ...

  2. java————数组 简单写出一个管理系统

    数组的特点 1,  数组是一块连续的空间,下标描述空间的位置. 2,  下标从0开始,最大下标为数组长度—1.(*.length-1) 3,  数组元素都是变量.(就是每个下标对应的内容).变量的类型 ...

  3. 随手写的一个检测php连接mysql的小脚本

    最近偶然接触到一点点的php开发,要用到mysql数据库,由于mysql和php版本的关系,php5里面连接函数有mysql_connect(),mysqli_connect()两种,php7中又使用 ...

  4. java基础知识(六)日期处理

    一.日期处理类 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 ...

  5. Java基础之写文件——将素数写入文件中(PrimesToFile)

    控制台程序,计算素数.创建文件路径.写文件. import static java.lang.Math.ceil; import static java.lang.Math.sqrt; import ...

  6. Java基础知识强化92:日期工具类的编写和测试案例

    1. DateUtil.java,代码如下: package cn.itcast_04; import java.text.ParseException; import java.text.Simpl ...

  7. JAVA基础学习(1)之计算

    1.0计算机与编程语言 1.0.1计算机与编程语言 计算机解决问题 人:What to do 计算机:How to do 编程语言 描述要求计算机如何做事情的过程或方法 算法 计算=算法—>编程 ...

  8. 【死磕 Java 基础】— 我同事一个 select 分页语句查出来了 3000W 条数据

    大家好,我是大明哥,一个专注于[死磕 Java]系列创作的男人 个人网站:https://www.cmsblogs.com/.专注于 Java 优质系列文章分享,提供一站式 Java 学习资料 某天我 ...

  9. Java基础之写文件——从多个缓冲区写(GatheringWrite)

    控制台程序,使用单个写操作将数据从多个缓冲区按顺序传输到文件,这称为集中写(GatheringWrite)操作.这个功能的优势是能够避免在将信息写入到文件中之前将信息复制到单个缓冲区中.从每个缓冲区写 ...

随机推荐

  1. 前端emmet插件的一些常用用法

    以下是在webstorm中简单使用emmet插件,注意一点就是当编写完emmet命令后一定要把光标移动到命令的结尾处,不然生成的代码会不一样 <!DOCTYPE html> <htm ...

  2. sqlplus column命令用法

    column是sqlplus里最实用的一个命令,很多时候sql语句输出的列宽度不合适而影响查看,都需要用到这个命令来更改select语句中指定列的宽度和标题.大部分时候,我们可以简写column为co ...

  3. java中四种引用类型(对象的强、软、弱和虚引用)

    对象的强.软.弱和虚引用在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.从JDK 1.2 ...

  4. [转]MSBuild Target Framework and Target Platform

    本文转自;https://msdn.microsoft.com/en-us/library/hh264221.aspx A project can be built to run on a targe ...

  5. WP手机短信导出方法和MSG格式文件阅读器的实现

    最近想起来自己一直扔在抽屉里的Nokia920T里还存着珍贵的短信,觉得把它导出来存到电脑上比较稳妥也方便阅读.经过搜索找到一下方法:到应用市场里搜索contacts+message backup,安 ...

  6. JavaScript - 表单提交前预览图片

    其实这东西网上到处都是,但并不完整. 正好我也遇到了这个问题,不仅仅是预览,还需要得到图片的属性. 于是东凑西凑整理出一个完整的版本,并根据个人的理解加上了一点点说明. 首先做一些准备工作,HTML方 ...

  7. easypoi导出单个sheet和多个sheet

    今天有时间研究了一下easypoi,感觉使用了easypoi导出excel方便了很多,不用写很多复杂的反射,只需要使用注解和一些工具类就可以实现常用的excel的导出,接下来介绍一下easypoi如何 ...

  8. Javascript之for循环该注意的问题

    很多时候我们都用到for循环,而用到for循环部门往往对一个数组进行循环,其中我们很多时候都是这样写的: // 次佳的循环 for (var i = 0; i < myarray.length; ...

  9. 小任务之Canvas绘制时钟

    背景图的绘制(大圆.数字.小圆点) 掌握基础知识:圆的绘制(arc方法),关于圆的弧度的计算,数学中关于sin cos的用法 圆的弧度为2*Math.PI 12个数字分得弧度每个为2*Math.PI/ ...

  10. Python入门-深浅拷贝

    首先我们在这里先补充一下基础数据类型的一些知识: 一.循环删除 1.前面我们学了列表,字典和集合的一些操作方法:增删改查,现在我们来看一下这个问题: 有这样一个列表: lst = ['周杰伦','周润 ...