【java基础】随手写的一个日期计算,新手可以看看
随手写的一个例子, 只是练习下自己的代码布局以及思路..
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基础】随手写的一个日期计算,新手可以看看的更多相关文章
- Java实现 蓝桥杯 算法提高 日期计算
算法提高 日期计算 时间限制:1.0s 内存限制:256.0MB 问题描述 已知2011年11月11日是星期五,问YYYY年MM月DD日是星期几?注意考虑闰年的情况.尤其是逢百年不闰,逢400年闰的情 ...
- java————数组 简单写出一个管理系统
数组的特点 1, 数组是一块连续的空间,下标描述空间的位置. 2, 下标从0开始,最大下标为数组长度—1.(*.length-1) 3, 数组元素都是变量.(就是每个下标对应的内容).变量的类型 ...
- 随手写的一个检测php连接mysql的小脚本
最近偶然接触到一点点的php开发,要用到mysql数据库,由于mysql和php版本的关系,php5里面连接函数有mysql_connect(),mysqli_connect()两种,php7中又使用 ...
- java基础知识(六)日期处理
一.日期处理类 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 API 不易于实现国际化.从 ...
- Java基础之写文件——将素数写入文件中(PrimesToFile)
控制台程序,计算素数.创建文件路径.写文件. import static java.lang.Math.ceil; import static java.lang.Math.sqrt; import ...
- Java基础知识强化92:日期工具类的编写和测试案例
1. DateUtil.java,代码如下: package cn.itcast_04; import java.text.ParseException; import java.text.Simpl ...
- JAVA基础学习(1)之计算
1.0计算机与编程语言 1.0.1计算机与编程语言 计算机解决问题 人:What to do 计算机:How to do 编程语言 描述要求计算机如何做事情的过程或方法 算法 计算=算法—>编程 ...
- 【死磕 Java 基础】— 我同事一个 select 分页语句查出来了 3000W 条数据
大家好,我是大明哥,一个专注于[死磕 Java]系列创作的男人 个人网站:https://www.cmsblogs.com/.专注于 Java 优质系列文章分享,提供一站式 Java 学习资料 某天我 ...
- Java基础之写文件——从多个缓冲区写(GatheringWrite)
控制台程序,使用单个写操作将数据从多个缓冲区按顺序传输到文件,这称为集中写(GatheringWrite)操作.这个功能的优势是能够避免在将信息写入到文件中之前将信息复制到单个缓冲区中.从每个缓冲区写 ...
随机推荐
- 网站Http升级至Https(基于Tomcat)
由于之前一直忙于服创比赛,然后就导致好久没写博客了. 现在服创结束也有十来天了,感觉不写点什么就对不起自己了. 于是乎,就写写将网站从http升级到https的过程吧. 首先域名和服务器自然是必须的, ...
- MySQL的优化(大纲)
参考:http://www.cnblogs.com/villion/archive/2009/07/23/1893765.html#3031899 MySQL的优化,主要可以考虑以下四方面: 1.数据 ...
- 架构实战项目心得(四)(补):Maven settings.xml的所有标签详解
文章内容较长,各位看客可以根据自己需要CTRL+F 直接定位到自己需要了解的地方哦~ <?xmlversion="1.0" encoding="UTF-8" ...
- log4j记录日志 和 webAppRootKey关系
今天发现一个问题,就是后台从某天开始不再记录日志了,最后发现是 webAppRootKey 的 value 的值必须要和log4j的注入变量要一致. 如下:web.xml文件的 webAppRootK ...
- 特殊引用类型(string)
private string FuncWithParameters(int param1, String param2, List<string> param3) { // 我们在这里改变 ...
- js返回树形结构数据
/** * 树形结构转换 * @param a * @param idStr * @param pidStr * @param chindrenStr * @returns {Array} */ fu ...
- Markdown调查
Markdown调查 一.Editor.md 文档详细,使用者较多 1.1 主要特性 支持“标准”Markdown / CommonMark和Github风格的语法,也可变身为代码编辑器: 支持实 ...
- form表单在发送到服务器时候编码方式
enctype(编码方式):规定了form表单在发送到服务器时候编码方式.有如下的三个值可选: 1.application/x-www-form-urlencoded.默认的编码方式.但是在用文本的传 ...
- 来看看javaweb的自定义标签
1.为什么需要自定义标签? jsp的简单标签其实就是jsp的自定义标签,主要作用就是移除jsp页面中的java代码,使得jsp页面只有标签和EL表达式,而没有java代码.利用自定义标签,可以使软件开 ...
- servlet-mapping元素及其子元素
<servlet-mapping>元素在Servlet和URL样式之间定义一个映射.它包含了两个子元素<servlet- name>和<url-pattern>,& ...