`
zljpp
  • 浏览: 255692 次
社区版块
存档分类
最新评论

新手学java(1) - java时间处理工具类

阅读更多

 

共享一下前几天整理的java时间工具类

 

1 import java.io.PrintStream;
  2 import java.sql.Time;
  3 import java.sql.Timestamp;
  4 import java.text.ParsePosition;
  5 import java.text.SimpleDateFormat;
  6 import java.util.Date;
  7 public class TimeUtil
  8 {
  9 /*
 10 www.pmjava.com java编程
 11 */
 12 public TimeUtil()
 13 {
 14 }
 15 public static Date strToDate(String sStr)
 16 {
 17 if (sStr == null)
 18 return null;
 19 SimpleDateFormat formatter;
 20 if (sStr.length() == 19)
 21 formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 22 else
 23 if (sStr.length() == 10)
 24 formatter = new SimpleDateFormat("yyyy-MM-dd");
 25 else
 26 if (sStr.length() == 8)
 27 formatter = new SimpleDateFormat("yyyyMMdd");
 28 else
 29 if (sStr.length() == 14)
 30 formatter = new SimpleDateFormat("yyyyMMddHHmmss");
 31 else
 32 formatter = new SimpleDateFormat("yyyyMMddHHmmss");
 33 ParsePosition pos = new ParsePosition(0);
 34 return formatter.parse(sStr, pos);
 35 }
 36 public static Timestamp strToDatetime(String s)
 37 {
 38 return new Timestamp(strToDate(s).getTime());
 39 }
 40 public static String datetimeToChinese(Date dtSource)
 41 {
 42 SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日HH时mm分ss秒");
 43 return formatter.format(dtSource);
 44 }
 45 public static String dateToStr(Date date)
 46 {
 47 SimpleDateFormat format = new SimpleDateFormat("yyyyMMdd");
 48 return format.format(date);
 49 }
 50 public static String datetimeToStr(Date date)
 51 {
 52 if (date == null)
 53 {
 54 return "";
 55 else
 56 {
 57 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 58 return formatter.format(date);
 59 }
 60 }
 61 public static String today()
 62 {
 63 return dateToStr(new Date());
 64 }
 65 public static String now()
 66 {
 67 return datetimeToStr(new Date());
 68 }
 69 public static String calcTime(String time, int diffYear, int diffMonth, int diffDate, int diffHour, int diffMinute, int diffSecond)
 70 {
 71 Timestamp timestamp = strToDatetime(time);
 72 timestamp.setYear(timestamp.getYear() + diffYear);
 73 timestamp.setMonth(timestamp.getMonth() + diffMonth);
 74 timestamp.setDate(timestamp.getDate() + diffDate);
 75 timestamp.setHours(timestamp.getHours() + diffHour);
 76 timestamp.setMinutes(timestamp.getMinutes() + diffMinute);
 77 timestamp.setSeconds(timestamp.getSeconds() + diffSecond);
 78 return datetimeToStr(timestamp);
 79 }
 80 public static String getCurrentTime()
 81 {
 82 String s = (new Time(System.currentTimeMillis())).toString();
 83 return s;
 84 }
 85 public static String getCurrentDate()
 86 {
 87 String s = (new java.sql.Date(System.currentTimeMillis())).toString();
 88 return s;
 89 }
 90 public static String getCurrentNow()
 91 {
 92 String s = getCurrentDate() + " " + getCurrentTime();
 93 return s;
 94 }
 95 public static String dateFromStr(String date)
 96 {
 97 if (date == null || date.length() < 10)
 98 return getCurrentDate();
 99 else
100 return date.substring(010);
101 }
102 public static String timeFromStr(String date)
103 {
104 if (date == null || date.length() < 19)
105 return "00:00:00";
106 else
107 return date.substring(1119);
108 }
109 public static void main(String args[])
110 {
111 System.out.println(now());
112 }
113 }

5
1
分享到:
评论
2 楼 sc_friday 2012-04-10  
这小子把SimipleDateFormat 放在方法里面,所以不会存在多线程的问题
不过这小子挺厉害的,能相处字符长度的判断 ,赞一个
1 楼 honor571 2012-04-08  
SimpleDateFormat 不是线程安全的
多线程调用需要增加同步锁 否则会出问题的

相关推荐

    java源码包---java 源码 大量 实例

     一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一...

    java常用工具类

    java一些公共工具类,很全面,值得拥有学习,老手新手都可以,只要你愿意下载

    java开发常用工具类大全,程序员必备工具

    java开发常用工具类大全,包含:各种输入字符校验类,各种转换类,网络操作工具类,加密解密工具类,json工具类,图片工具类,数据库操作工具类等六十几种工具类!几乎包含了工作中所有用到的,新手必备!

    JAVA上百实例源码以及开源项目源代码

     一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个...

    成百上千个Java 源码DEMO 4(1-4是独立压缩包)

    输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下...

    超详细Java入门到精通自学视频课程-总结:static、工具类、单例、继承.rar

    Java是一种编程语言,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的“形式...本视频教程帮助你从新手小白到成为精通JAVA的高手,从软件的安装,功能的介绍和使用,实战演习讲解等各大维度进行详细的教学.

    JAVA上百实例源码以及开源项目

     一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 一个...

    md5加密工具类

    最为流行的md5算法加密,适用于java入门新手学习,可选择调用工具类。

    Java项目-SpringBoot+Vue的垃圾分类网站.zip

    Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,...

    java源码包4

     一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 ...

    java源码包3

     一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 ...

    成百上千个Java 源码DEMO 3(1-4是独立压缩包)

    输入文件为c:/mycert.cer,获取一个处理X.509证书的证书工厂…… Java+ajax写的登录实例 1个目标文件 内容索引:Java源码,初学实例,ajax,登录 一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下...

    java源码包2

     一个Java+ajax写的登录实例,附有JAVA源文件,JAVA新手朋友可以学习一下。 JAVA+JSP的聊天室 8个目标文件 简单 JavaScript万年历 显示出当前时间及年份,还可以选择年份及月份和日期 Java编写的HTML浏览器 ...

    超详细Java入门到精通自学视频课程-05、static:应用知识-工具类.rar

    Java是一种编程语言,被特意设计用于互联网的分布式环境。Java具有类似于C++语言的“形式...本视频教程帮助你从新手小白到成为精通JAVA的高手,从软件的安装,功能的介绍和使用,实战演习讲解等各大维度进行详细的教学.

    JAVA-七牛云与阿里云的文件上传工具类

    对于开发者来说,上传文件应该是都需要使用,上传文件的方式有七牛云与阿里云以及很多其他方式,多数应该使用阿里云和七牛云这俩个平台,我就在此处提供对应的上传、下载的工具类,可供新手直接使用

Global site tag (gtag.js) - Google Analytics