随手写的一个例子, 只是练习下自己的代码布局以及思路..
  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. SQL Cookbook—数字、日期

    1.计算不包含最大值和最小值的均值2.把字母数字串转换为数值3.更改累计和中的值–显示存款或取款后的值4.加减日.月.年5.计算两个日期之间的天数6.确定两个日期之间的工作日数目表EMP中,计算BLA ...

  2. touch-slide-image

    用htmls5+css3实现的在android和ios,以及wekit新版浏览器上实现手指滑动切换图片. https://github.com/navyxie/touch-slide-image

  3. 封装常用的跨浏览器的事件对象EventUtil

    var EventUtil = { addHandler: function(element,type,handler) { //事件监听 if(element.addEventListener) { ...

  4. springmvc + spring + ibatis + mysql

    1.spring mvc 官网下载:https://repo.spring.io/webapp/#/artifacts/browse/simple/General/libs-release-local ...

  5. 前端(五):JavaScript面向对象之内建对象

    一.数据类型 js中数据类型分为两种,原始数据累次能够和引用数据类型. 1.原始数据类型 Undefined.Null.Boolean.Number.String是js中五种原始数据类型(primit ...

  6. Spring课程 Spring入门篇 6-3 ProxyFactoryBean及相关内容(下)

    1 解析 1.1 使用global advisors demo 1.2 jdk代理和cglib代理的选择 1.3 如何强制使用CGLIB实现AOP? 1.4 JDK动态代理和CGLIB字节码生成的区别 ...

  7. HTML语言中img标签的alt属性和title属性的作用与区别

    alt属性是在你的图片因为某种原因不能加载时在页面显示的提示信息,它会直接输出在原本加载图片的地方,而title属性是在你鼠标悬停在该图片上时显示一个小提示,鼠标离开就没有了,有点类似jQuery的h ...

  8. 廖雪峰JavaScript练习题3

    请尝试写一个验证Email地址的正则表达式.版本一应该可以验证出类似的Email: 正则表达式: <!DOCTYPE html> <html> <head> < ...

  9. BZOJ1898: [Zjoi2005]Swamp 沼泽鳄鱼(矩阵快速幂)

    题意 题目链接 Sol 不难发现吃人鱼的运动每\(12s\)一个周期 所以暴力建12个矩阵,放在一起快速幂即可 最后余下的部分暴力乘 #include<bits/stdc++.h> usi ...

  10. Redis学习笔记(二) ---- PHP操作Redis各数据类型

    Redis 一.使用PHP操作Redis存储系统中的各类数据类型方法 1.String(字符串)操作 <?php // 1. 实例化 $redis = new Redis; // 2. 连接 r ...