package timeTools;

 import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date; /**
* 日期时间工具类
*
* @author 温度
*
*/ public class DataUtils { /**
* 获取当前时间,以"yyyy-MM-dd HH:mm:ss"格式返回字符串类型值
*
* @return
*/
public static String getCurrentTime() { // Date dt= new Date();
// SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
// String s=sdf.format(dt);
// return s; return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()); } /**
* 以指定的时间格式获取当前时间的字符串类型
*
* @param s
* 格式为 "yyyy*MM*dd HH*mm*ss",其中*可用其他字符匹配
* @return
*/
public static String getCurrentTime(String s) { return new SimpleDateFormat(s).format(new Date()); } /**
* 获取当前时间的毫秒值
*
* @return
*/
public static long getMilliSecond() {
return new Date().getTime();
} /**
* 获取给定时间的毫秒值
*
* @param s
* 格式为"yyyy-MM-dd HH:mm:ss"
* @return
*/
public static long getMilliSecond(String s) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d;
long l = 0;
try {
d = sdf.parse(s);
l = d.getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("时间格式不对!");
}
return l;
} /**
* 获取给定的两个时间之间的差值,单位为毫秒。时间格式为"yyyy-MM-dd HH:mm:ss"
*
* @param s1
* 第一个时间参数
* @param s2
* 第二个时间参数
* @return 返回值为负,说明第一个参数时间小于第二个参数时间。返回值为正,说明第一个参数时间大于第二个参数时间。
*/
public static long getMilliSecond(String s1, String s2) {
return getMilliSecond(s1) - getMilliSecond(s2);
} /**
* 获取当前时间的秒值
*
* @return
*/
public static long getSecond() {
return (new Date().getTime()) / 1000;
} /**
* 获取给定时间的秒值
*
* @param s
* 格式为"yyyy-MM-dd HH:mm:ss"
* @return
*/
public static long getSecond(String s) {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d;
long l = 0;
try {
d = sdf.parse(s);
l = d.getTime();
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
System.out.println("时间格式不对!");
}
return l / 1000;
} /**
* 获取给定的两个时间之间的差值,单位为秒。时间格式为"yyyy-MM-dd HH:mm:ss"
*
* @param s1
* 第一个时间参数
* @param s2
* 第二个时间参数
* @return 返回值为负,说明第一个参数时间小于第二个参数时间。返回值为正,说明第一个参数时间大于第二个参数时间。
*
*/
public static long getSecond(String s1, String s2) {
return (getMilliSecond(s1) - getMilliSecond(s2)) / 1000;
} /**
* 根据毫秒时间获取时长,返回值格式"h小时m分s秒"
*
* @param s
* @return
*/
public static String getDurationByMilliSecond(long ms) {
long s = ms / 1000;
long tmp = 0;
StringBuffer sb = new StringBuffer();
sb.insert(0, "秒");
if (s >= 60) {
tmp = s % 60;
sb.insert(0, tmp);
tmp = s / 60;
if (tmp >= 60) {
s = tmp % 60;
sb.insert(0, "分");
sb.insert(0, s);
s = tmp / 60;
if (s >= 24) {
tmp = s % 24;
sb.insert(0, "小时");
sb.insert(0, tmp);
tmp = s / 24;
sb.insert(0, "天");
sb.insert(0, tmp);
} else {
sb.insert(0, "小时");
sb.insert(0, s);
} } else {
sb.insert(0, "分");
sb.insert(0, tmp);
}
} else {
sb.insert(0, s);
}
String dt = sb.toString();
return dt;
} /**
* 根据秒时间获取时长,返回值格式"h小时m分s秒"
*
* @param s
* @return
*/
public static String getDurationBySecond(long s) {
long tmp = 0;
StringBuffer sb = new StringBuffer();
sb.insert(0, "秒");
if (s >= 60) {
tmp = s % 60;
sb.insert(0, tmp);
tmp = s / 60;
if (tmp >= 60) {
s = tmp % 60;
sb.insert(0, "分");
sb.insert(0, s);
s = tmp / 60;
if (s >= 24) {
tmp = s % 24;
sb.insert(0, "小时");
sb.insert(0, tmp);
tmp = s / 24;
sb.insert(0, "天");
sb.insert(0, tmp);
} else {
sb.insert(0, "小时");
sb.insert(0, s);
} } else {
sb.insert(0, "分");
sb.insert(0, tmp);
}
} else {
sb.insert(0, s);
}
String dt = sb.toString();
return dt;
} }

java自编时间工具类的更多相关文章

  1. 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!

    转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...

  2. Java线程的并发工具类

    Java线程的并发工具类. 一.fork/join 1. Fork-Join原理 在必要的情况下,将一个大任务,拆分(fork)成若干个小任务,然后再将一个个小任务的结果进行汇总(join). 适用场 ...

  3. Rhino+envjs-1.2.js 在java运行网站js 工具类

    java爬虫遇到个页面加密的东西,找了些资料学习学习 做了个java运行js的工具类,希望对大家有用,其中用到client(获取js)可以自行换成自己的client.主要是用了 Rhino就是Java ...

  4. java中常用的工具类(一)

    我们java程序员在开发项目的是常常会用到一些工具类.今天我汇总了一下java中常用的工具方法.大家可以在项目中使用.可以收藏!加入IT江湖官方群:383126909 我们一起成长 一.String工 ...

  5. Java学习-041-颜色工具类(RGB,HEX)

    在日常的网页开发中,经常需要进行颜色数值获取.转换,例如获取红色,获取蓝色,获取绿色,RGB转十六进制颜色,十六进制颜色转RGB等,因而在学习过程中,写了一个小工具类,仅供各位小主参考! 多不闲言,直 ...

  6. JAVA中封装JSONUtils工具类及使用

    在JAVA中用json-lib-2.3-jdk15.jar包中提供了JSONObject和JSONArray基类,用于JSON的序列化和反序列化的操作.但是我们更习惯将其进一步封装,达到更好的重用. ...

  7. JAVA自动生成正则表达式工具类

    经过很久的努力,终于完成了JAVA自动生成正则表达式工具类.还记得之前需要正则,老是从网上找吗?找了想修改也不会修改.现在不用再为此烦恼了,使用此生成类轻松搞定所有正则表达式.赶快在同事面前炫一下吧. ...

  8. java 二进制数字符串转换工具类

    java 二进制数字符串转换工具类 将二进制转换成八进制 将二进制转换成十进制 将二进制转换成十六进制 将十进制转换成二进制 package com.iteye.injavawetrust.ad; i ...

  9. Java学习-049-正则工具类

    自去年九月份决定再次入学和职业资格进阶,开始备战二者考试至今,以及当下进行中的职称申请,犹如孤独的狼,不断前行在路上,而今凡凡总总的已历8月... 不感慨了,如下为一园友需要的正则工具类,直接上码: ...

随机推荐

  1. install Hadoop

    Installing Java Hadoop runs on both Unix and Windows operating systems, and requires Java to beinsta ...

  2. centos 7 安装zabbix3.0

    1.安装MySQL 从最新版本的linux系统开始,默认的是 Mariadb而不是mysql! 使用系统自带的repos安装很简单: # yum install -y mariadb mariadb- ...

  3. day26、面向对象进阶:多态、封装、反射

    一.多态 什么是多态: 类的继承有两层意义:1.改变 2.扩展 多态就是类的这两层意义的一个具体的实现机. 即:调用不同类实例化的对象,下的相同的方法,实现的过程不一样 python中的标准类型就是多 ...

  4. 循环语句--while

    有一种循环叫死循环,一经触发,就运行个天荒地老.海枯石烂 #coding=utf-8 count=0 while True: print("你是风儿我是沙,缠缠绵绵到天涯...", ...

  5. 51nod 1237 最大公约数之和 V3

    求∑1<=i<=n∑1<=j<=ngcd(i,j) % P P = 10^9 + 7 2 <= n <= 10^10 这道题,明显就是杜教筛 推一下公式: 利用∑d ...

  6. 关于语句#ifdef OS_GLOBALS #define OS_EXT #else #define OS_EXT extern #endif 的说明

    声明全局变量使用的技术——摘自uC/OS-II中文版 以下是如何定义全局 变量.众所周知,全局变量应该是得到内存分配且可以被其他模块通过C 语言中extern 关键字调用的变量.因此,必须在 .C 和 ...

  7. 说说Web.Config与App.Config

    说到web.config和app.config大家都很熟悉,我们都叫他们配置文件,平时用的多,注意的少.两个有啥区别呢,很简单,一句话:如果是web程序,如webform项目类型和mvc项目类型就是w ...

  8. [AIR] AIR 应用程序的调用和终止

    本节讨论几种对已安装的 Adobe® AIR® 应用程序进行调用的方法,以及关闭运行中的应用程序的选项和注意事项. 注: NativeApplication.InvokeEvent 和 Browser ...

  9. 【HOW】SharePoint如何彻底删除用户

    在网站中打开“人员和组”,在选中某一用户后,一般只有“从用户组中删除用户”操作.此操作只能将此用户从此用户组中删除,却不能从网站集中彻底删除. 要将用户从网站集中彻底删除,可按如下步骤操作: 1. 在 ...

  10. Ejabberd作为推送服务的优化手段

    AVOS Cloud目前还在用Ejabberd做Android的消息推送服务.当时选择Ejabberd,是因为Ejabberd是一个发展很长时间的XMPP实现,并且基于Erlang,设想能在我们自主研 ...