`

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

    博客分类:
  • 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;
     }
}

分享到:
评论

相关推荐

    根据工作中经常需要用到的,基于C语言封装的一些常用工具类库,便于在工程项目中参考引用.zip

    本压缩包“根据工作中经常需要用到的,基于C语言封装的一些常用工具类库,便于在工程项目中参考引用.zip”正是为了解决在实际项目开发中的各种常见问题,提供了一系列实用的工具类库。以下将详细解析这些工具库可能...

    java开发,30个常用工具类总结,全部来自项目实践中用到的工具类

    在Java开发中,工具类是程序员经常会用到的代码模块,它们封装了各种常见的操作,提高了代码的可重用性和可维护性。以下是对标题和描述中提到的几个常用工具类的详细说明: 1. **DateUtils**: `java.util.Date` 和 ...

    PHP常用类,开发中经常用到 你懂的

    这里提到的“PHP常用类”通常是指在日常开发中经常使用的、能够提高代码复用性和效率的类库。这些类库涵盖了各种用途,如数据处理、对象操作、文件操作、网络通信等。以下是一些常见的PHP类及其知识点: 1. **错误...

    :.net公共类库(开源项目)(项目中经常用到的类库)

    .NET公共类库是一个开源项目,旨在为开发者提供一系列常用且实用的工具类,方便他们在开发过程中快速实现各种功能。这个类库涵盖了多个方面,如数据处理、正则表达式操作以及字符串处理等,大大简化了代码编写的工作...

    项目中可能会用到的Util类 如 Date String

    这篇博客文章"项目中可能会用到的Util类 如 Date String"探讨了在Java项目中如何有效地利用这些Util类来提高代码的可读性和复用性。 首先,我们来看Date Util类。在Java中,日期和时间的处理是一项基础但重要的工作...

    做项目常能用到的素材

    标题"做项目常能用到的素材"表明这是一个包含常用资源的集合,主要用于支持开发过程。描述中的"都是平时积累的"强调了这些素材是经过时间检验、实践证明有效的。提到"登陆界面参考,各种按钮图标",我们可以推断出这...

    PHP常用工具类方法(珍藏版收集)

    本珍藏版收集了一些PHP开发者在日常工作中经常会用到的工具类方法,旨在提高代码的复用性和开发效率。 一、字符串操作 1. `str_replace`:这个函数用于在字符串中替换指定的字符或子串。例如,`str_replace('old', ...

    在j2ee项目开发中经常用到的小组件

    在J2EE项目开发中,小组件的使用是提高开发效率和增强应用程序功能的重要手段。本文将主要聚焦于一个常用且强大的Java图表库——jFreeChart。jFreeChart是一个开源项目,它为Java开发者提供了创建各种图表的能力,...

    Commons项目中用来处理Java基本对象方法的工具类包,可以简化很多平时经常要用到的写法

    在实际项目中,根据需求选择合适的类和方法,可以有效地提升代码的可读性和可维护性。对于初学者来说,理解和掌握这个库,能够快速提升编程技能。而对于经验丰富的开发者,Lang库则是一个节省时间、提高生产力的好...

    项目中要用到的小实例

    标题“项目中要用到的小实例”暗示了这是一个包含实用编程示例的集合,可能是为了帮助开发者在实际项目中解决问题或实现特定功能。描述中的“NULL”没有提供额外信息,但我们可以根据标签“源码”和“工具”进行推测...

    C#常用类整理 都是工作中用到的

    在C#编程语言中,有许多常用的类用于构建各种应用程序,特别是在ASP.NET开发、数据库操作(如SQL)以及软件项目实施中。以下是一些关键的知识点,这些知识点在工作中的使用非常广泛: 1. **System.IO**: 这个命名...

    常用kendo时间控件

    Zookeeper,作为Apache Hadoop的一部分,是分布式协调服务,它在集群管理中需要用到时间相关的配置和操作。虽然Zookeeper本身并不直接使用Kendo时间控件,但在构建基于Zookeeper的管理界面时,开发者可以利用这些...

    c#自定义类库,自己写的一些常用的功能模块

    本项目“c#自定义类库”是作者自行开发的一套功能模块集合,它包含了作者在日常开发过程中经常需要用到的各种工具方法。虽然当前的类库还在不断完善中,但已经具备了一定的实用价值。 首先,让我们来了解一下什么是...

    一些常用的JS特效,网页中经常用到的JS特效打包下载

    本压缩包包含了一些常用的JS特效,这些特效在网页设计中非常常见,可以提升用户体验和网站的吸引力。 1. **滑动效果**: 滑动效果是网页中最常见的JS特效之一,包括图片轮播、导航菜单的滑动展开等。通过JS,我们...

    .Net项目中一些常用验证操作

    本文档详细介绍了在.Net项目中一些常用验证操作,这些验证操作能够有效减少开发时间并降低错误率,增强项目的安全性。 1. 域名验证操作 域名验证通常用于确保输入的域名符合预期的格式。在本项目中,提供了判断域名...

    安卓开发框架工具类相关-安卓开发也会经常用到的28个java常用的工具类源码.zip

    这个压缩包“安卓开发框架工具类相关-安卓开发也会经常用到的28个java常用的工具类源码.zip”包含了多个Java工具类,可能涵盖了多个领域,如网络通信、字符串处理、日期时间操作等。以下是对这些工具类的一些常见...

    swift-SwiftTools一些项目中的常用Swift开发工具类

    SwiftTools 是一个专门为Swift开发者设计的实用工具集,它包含了在日常开发过程中可能会频繁用到的各种功能模块。这个工具库的目的是为了简化代码,提高开发效率,并且提供了一种标准化的方式来处理常见的编程任务。...

    开发中用到的常用到的类

    除了Util和Config类,这个压缩包可能还包含了其他一些常见的开发类,比如IO操作的`FileUtils`,网络通信的`HttpClientUtils`,日期时间处理的`DateTimeUtils`,集合操作的`CollectionUtils`等。这些类通常遵循单一...

    C#常用代码大集 凡各项目编程常能用到,收集一处

    以下是一些常见的日期和时间操作: - 获取当前日期和时间:`System.DateTime.Now` - 获取年、月、日、时、分、秒、毫秒:`Year`, `Month`, `Day`, `Hour`, `Minute`, `Second`, `Millisecond` - 将DateTime对象...

Global site tag (gtag.js) - Google Analytics