`

在项目中,用到的关于时间操作的一些常用方法!!

    博客分类:
  • Java
 
阅读更多

package com.hoten.util;

import java.util.*;
import java.io.*;

/**
 * <p>Title: Time  </p>
 * <p>Description: </p>
 *      此类主要用来取得本地系统的系统时间并用下面5种格式显示
 *              1. YYMMDDHH         8位
 *              2. YYMMDDHHmm       10位
 *              3. YYMMDDHHmmss     12位
 *              4. YYYYMMDDHHmmss   14位
 *              5. YYMMDDHHmmssxxx  15位 (最后的xxx 是毫秒)
 * <p>Copyright: Copyright (c) 2003</p>
 * <p>Company: c-platform</p>
 * @author WuJiaQian
 * @version 1.0
 */
public class CTime {
     public static final int YYMMDDhhmmssxxx = 15;
     public static final int YYYYMMDDhhmmss = 14;
     public static final int YYMMDDhhmmss = 12;
     public static final int YYMMDDhhmm = 10;
     public static final int YYMMDDhh = 8;

       /**
      * 取得本地系统的时间,时间格式由参数决定
      * @param format 时间格式由常量决定
      * @return String 具有format格式的字符串
      */
     public static String getTime(int format) {
          StringBuffer cTime = new StringBuffer(15);
          Calendar time = Calendar.getInstance();
          int miltime = time.get(Calendar.MILLISECOND);
          int second = time.get(Calendar.SECOND);
          int minute = time.get(Calendar.MINUTE);
          int hour = time.get(Calendar.HOUR_OF_DAY);
          int day = time.get(Calendar.DAY_OF_MONTH);
          int month = time.get(Calendar.MONTH) + 1;
          int year = time.get(Calendar.YEAR);
          time = null;
          if (format != 14) {
               if (year >= 2000) year = year - 2000;
               else year = year - 1900;
          }
          if (format >= 2) {
               if (format == 14) cTime.append(year);
               else cTime.append(getFormatTime(year, 2));
          }
          if (format >= 4)
               cTime.append(getFormatTime(month, 2));
          if (format >= 6)
               cTime.append(getFormatTime(day, 2));
          if (format >= 8)
               cTime.append(getFormatTime(hour, 2));
          if (format >= 10)
               cTime.append(getFormatTime(minute, 2));
          if (format >= 12)
               cTime.append(getFormatTime(second, 2));
          if (format >= 15)
               cTime.append(getFormatTime(miltime, 3));
          return cTime.toString().trim();
     }

     /**
      * 产生任意位的字符串
      * @param time int 要转换格式的时间
      * @param format int 转换的格式
      * @return String 转换的时间
      */

     public synchronized static String getYearAdd(int format, int iyear) {
          StringBuffer cTime = new StringBuffer(10);
          Calendar time = Calendar.getInstance();
          time.add(Calendar.YEAR, iyear);
          int miltime = time.get(Calendar.MILLISECOND);
          int second = time.get(Calendar.SECOND);
          int minute = time.get(Calendar.MINUTE);
          int hour = time.get(Calendar.HOUR_OF_DAY);
          int day = time.get(Calendar.DAY_OF_MONTH);
          int month = time.get(Calendar.MONTH) + 1;
          int year = time.get(Calendar.YEAR);
          if (format != 14) {
               if (year >= 2000) year = year - 2000;
               else year = year - 1900;
          }
          if (format >= 2) {
               if (format == 14) cTime.append(year);
               else cTime.append(getFormatTime(year, 2));
          }
          if (format >= 4)
               cTime.append(getFormatTime(month, 2));
          if (format >= 6)
               cTime.append(getFormatTime(day, 2));
          if (format >= 8)
               cTime.append(getFormatTime(hour, 2));
          if (format >= 10)
               cTime.append(getFormatTime(minute, 2));
          if (format >= 12)
               cTime.append(getFormatTime(second, 2));
          if (format >= 15)
               cTime.append(getFormatTime(miltime, 3));
          return cTime.toString();
     }

     /**
      * 产生任意位的字符串
      * @param time int 要转换格式的时间
      * @param format int 转换的格式
      * @return String 转换的时间
      */
     private static String getFormatTime(int time, int format) {
          StringBuffer numm = new StringBuffer(format);
          int length = String.valueOf(time).length();

          if (format < length)return null;

          for (int i = 0; i < format - length; i++) {
               numm.append("0");
          }
          numm.append(time);
          return numm.toString().trim();
     }

     /**
      * 本函数主要作用是返回当前年份
      * @param len int 要转换年的位数
      * @return String 处理后的年 
      */

     public static String getYear(int len) {
          Calendar time = Calendar.getInstance();
          int year = time.get(Calendar.YEAR);
          String djyear = Integer.toString(year);
          if (len == 2) {
               djyear = djyear.substring(2);
          }
          return djyear;
     }

     /*
        #本函数作用是返回当前月份(2位)
      */
     public static String getMonth() {
          Calendar time = Calendar.getInstance();
          int month = time.get(Calendar.MONTH) + 1;
          String djmonth = "";
          if (month < 10) {
               djmonth = "0" + Integer.toString(month);
          }
          else {
               djmonth = Integer.toString(month);
          }
          return djmonth;
     }
     
      /*
        #本函数作用是返回上个月份(2位)
      */
     public static String getPreMonth() {
         Calendar time = Calendar.getInstance();
    int month = time.get(Calendar.MONTH);
    if (month == 0) month = 12;

    String djmonth = "";
         if (month < 10) {
             djmonth = "0" + Integer.toString(month);
         }
         else {
             djmonth = Integer.toString(month);
         }
         return djmonth;
     }

     /*
        #本函数主要作用是返回当前天数
      */
     public static String getDay() {
          Calendar time = Calendar.getInstance();
          int day = time.get(Calendar.DAY_OF_MONTH);
          String djday = "";
          if (day < 10) {
               djday = "0" + Integer.toString(day);
          }
          else {
               djday = Integer.toString(day);
          }
          return djday;
     }

     /*
        本函数作用是返回当前小时
      */
     public static String getHour() {
          Calendar time = Calendar.getInstance();
          int hour = time.get(Calendar.HOUR_OF_DAY);
          String djhour = "";
          if (hour < 10) {
               djhour = "0" + Integer.toString(hour);
          }
          else {
               djhour = Integer.toString(hour);
          }
          return djhour;
     }

     /*
        #本函数作用是返回当前分钟
      */
     public static String getMin() {
          Calendar time = Calendar.getInstance();
          int min = time.get(Calendar.MINUTE);
          String djmin = "";
          if (min < 10) {
               djmin = "0" + Integer.toString(min);
          }
          else {
               djmin = Integer.toString(min);
          }
          return djmin;
     }

     /*
        #本函数的主要功能是格式化时间,以便于页面显示
        #time 时间 可为6位、8位、12位、15位
        #return 返回格式化后的时间
        #6位 YY年MM月DD日
        #8位 YYYY年MM月DD日
        #12位 YY年MM月DD日 HH:II:SS
        #15位 YY年MM月DD日 HH:II:SS:CCC
      */
     public static String formattime(String time) {
          int length = 0;
          length = time.length();
          String renstr = "";
          switch (length) {
               case 6:
                    renstr = time.substring(0, 2) + "年" + time.substring(2, 4) +
                        "月" + time.substring(4) + "日";
                    break;
               case 8:
                    renstr = time.substring(0, 4) + "年" + time.substring(4, 6) +
                        "月" + time.substring(6, 8) + "日";
                    break;
               case 12:
                    renstr = time.substring(0, 2) + "年" + time.substring(2, 4) +
                        "月" + time.substring(4, 6) + "日 " + time.substring(6, 8) +
                        "时" + time.substring(8, 10) + "分" +
                        time.substring(10, 12) + "秒";
                    break;
               case 14:
                    renstr = time.substring(0, 4) + "-" + time.substring(4, 6) +
                        "-" + time.substring(6, 8) + " " + time.substring(8, 10) +
                        ":" + time.substring(10, 12) + ":" +
                        time.substring(12, 14) + "";
                    break;
               case 15:
                    renstr = time.substring(0, 2) + "年" + time.substring(2, 4) +
                        "月" + time.substring(4, 6) + "日 " + time.substring(6, 8) +
                        ":" + time.substring(8, 10) + ":" +
                        time.substring(10, 12) + ":" + time.substring(12);
                    break;
               default:
                    renstr = time.substring(0, 2) + "年" + time.substring(2, 4) +
                        "月" + time.substring(4) + "日";
                    break;
          }
          return renstr;
     }
}

分享到:
评论

相关推荐

    com:写代码中用到的一些公共资源

    博康写代码中用到的一些公共的函数和方法将平时经常用到的东西记录下来,避免用到的时候再找浪费时间自定义函数包暂时还简单,根据实际使用慢慢完善本奇用于处理加密相关的操作,包含:密码加盐加密弦转md5和sha256 ...

    Android代码-安卓开发辅助项目库

    XUI 是一个安卓开发辅助项目库,它将项目中常用的功能、模块进行抽象整理,供新项目引用,这样可以加快项目的开发速度。 简述 XUI 为集功能、界面模块库,其中封装了 HTTP 网络请求、JSON 数据解析、文件操作等模块...

    Linux开发工具箱--项目开发的最有效途径.pdf

    然后通过示例演示了如何在文本编辑器中进行查找操作,展示了几个常用文本编辑器中会用到的小技巧。 《Linux开发工具箱:项目开发的最有效途径》接下来对Linux内核的基础知识和操作系统的内部原理进行了详细且通俗易懂...

    详解JAVA常用的时间操作【实用】

    本文主要介绍了JAVA一些常用的时间操作,很实用,相信大家在开发项目时会用到,下面就跟小编一起来看下吧

    ios-IOS项目分层.zip

    虽然项目中已经用Pod来管理第三方插件,但对于一些可能要进行修改的第三方可以存放在这边,本实例中引用的几个比较常用的第三方插件,简单介绍其中的几个,GVUserDefaults是对UserDefaults的封装,简单就可以用于...

    H3BPM 试用系统操作手册

    3. 新建流程包【供应商入库】,【数据模型】中需要用到的【业务方法】分别绑定相应的业务服务,如Create、Load、Update、Remove;并新建主从表的【关联关系】; 4. 新建流程包【供应商获取】,【数据模型】中需要...

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

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    asp.net知识库

    也论该不该在项目中使用存储过程代替SQL语句 如何使数据库中的表更有弹性,更易于扩展 存储过程——天使还是魔鬼 如何获取MSSQLServer,Oracel,Access中的数据字典信息 C#中利用GetOleDbSchemaTable获取数据库内表信息...

    乐闪数码图文快印培训软件 v3.1.1

    软件介绍 乐闪软件是一款专门针对国内数码快印行业开发的培训...维修手册是一些常用的维修手册代码,打印常见问题总结了一些常见文件格式的打印项目,常用软件是图文店能用到的所有软件。 Tags: 培训软件 图文培训软件

    Java调用ffmpeg3.x操作视频、视频截图完整开发工具包-Win 64位版,含所需DLL文件

    4、在JAVA调用ffmpeg操作时,导入上面的6个jar(上面两个x86_64.jar里,是DLL文件,不用解压设置路径,只需在java项目中引入这些JAR即可)。 5、在Win10 64位环境下测试通过。 6、具体开发教程,则请参考其他资料。 ...

    工程硕士学位论文 基于Android+HTML5的移动Web项目高效开发探究

    目前市场业务中在产品以及其他项目的认证和检测方面存在诸多不便,用户需要实地考察并频繁与检测单位沟通,填写繁琐的纸质检测报告、当面送递样品,对于检测环节中存在的问题难以及时交互并处理。市场上相应的检测...

    Linux开发工具箱

    然后通过示例演示了如何在文本编辑器中进行查找操作,展示了几个常用文本编辑器中会用到的小技巧。 书中接下来对Linux内核的基础知识和操作系统的内部原理进行了详细且通俗易懂的阐述,并示范了如何将这些知识应用...

    入门学习Linux常用必会60个命令实例详解doc/txt

    -n:一般而言,mount挂上后会在/etc/mtab中写入一笔资料,在系统中没有可写入文件系统的情况下,可以用这个选项取消这个动作。 4.应用技巧 在Linux 和Unix系统上,所有文件都是作为一个大型树(以/为根)的一部分...

    java面试宝典

    201、你在项目中用到了xml技术的哪些方面?如何实现的? 48 202、用jdom解析xml文件时如何解决中文问题?如何解析? 48 203、编程用JAVA解析XML的方式. 49 204、EJB2.0有哪些内容?分别用在什么场合? EJB2.0和EJB1.1的...

    Java面试宝典2010版

    2、你在项目中用到了xml技术的哪些方面?如何实现的? 3、用jdom解析xml文件时如何解决中文问题?如何解析? 4、编程用JAVA解析XML的方式. 5、XML文档定义有几种形式?它们之间有何本质区别?解析XML文档有哪几种方式?...

    算法导论(part1)

    在书中,作者将算法的讨论集中在一些比较现代的例子上,它们来自分子生物学(如人类基因项目)、商业和工程等领域。每一小节通常以对相关历史素材的讨论结束,讨论了在每一算法领域的原创研究。 本书的特点可以概括为...

    java 面试题 总结

    SessionBean在J2EE应用程序中被用来完成一些服务器端的业务操作,例如访问数据库、调用其他EJB组件。EntityBean被用来代表应用系统中用到的数据。 对于客户机,SessionBean是一种非持久性对象,它实现某些在服务器上...

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

     Java 3DMenu 界面源码,有人说用到游戏中不错,其实平时我信编写Java应用程序时候也能用到吧,不一定非要局限于游戏吧,RES、SRC资源都有,都在压缩包内。 Java zip压缩包查看程序源码 1个目标文件 摘要:Java源码...

    计算机在教育中的应用

    2 .1 .7 在制作教案时常用到的一些操作 2 .2 教案中文字格式的编辑 2 .2 .1 文字编辑中常用的操作 2 .2 .2 文字字体、字号、颜色的设置 2 .2 .3 文字风格的设置 2 .2 .4 在教案中使用特殊文字格式 2 .2 .5 在教案中...

Global site tag (gtag.js) - Google Analytics