ustczhuli 发表于 2013-1-26 14:41:45

日期和时间工具类

/**
   * 日期格式:yyyy-MM-dd HH:mm:ss
   */
    public static final String DATE_FARMAT = "yyyy-MM-dd HH:mm:ss";

    /**
   * 日期格式:yyyyMMddHHmmss
   */
    public static final String DATE_FORMAT_2 = "yyyyMMddHHmmss";

    /**
   * 数据库存储的date类型字段转成JAVA的String类型为2006-06-11 03:35:13.0,需要去掉后面的.0
   */
    private static final String DATE_STRING_EXTRA = ".0";

    /**
   * 默认构造方法 不允许实例化
   */
    private DateTimeUtil()
    {

    }

    /**
   * 日期时间字符串格式转换
   *
   * 数据库存储的date类型字段转成JAVA的String类型为2006-06-11 03:35:13.0,需要去掉后面的.0
   *
   * @param dateStr 日期时间字符串
   * @return 去掉.0的日期时间字符串
   * @see [类、类#方法、类#成员]
   */
    public static String formatDateString(String dateStr)
    {
      if (null != dateStr)
      {
            // 后面包含.0日期时间字符串才需要处理
            int index = dateStr.lastIndexOf(DATE_STRING_EXTRA);
            if (0 < index)
            {
                dateStr = dateStr.substring(0, index);
            }
      }

      return dateStr;
    }

    /**
   * 将date型日期转换为想要的字符格式 <一句话功能简述> <功能详细描述>
   *
   * @param date date日期
   * @param dateFormat 日期格式:如yyyy-MM-dd HH:mm:ss
   * @return String
   * @see [类、类#方法、类#成员]
   */
    public static String formatDateToString(Date date, String dateFormat)
    {
      SimpleDateFormat format = new SimpleDateFormat(dateFormat);
      return format.format(date);
    }

    /**
   * 将String型日期转换为想要的date型 <一句话功能简述> <功能详细描述>
   *
   * @param currentTime currentTime
   * @return Date
   * @see [类、类#方法、类#成员]
   */
    public static Date formatStringToDate(String currentTime)
    {
      Date date = new Date();
      SimpleDateFormat df = new SimpleDateFormat(DATE_FARMAT);
      try
      {
            date = df.parse(currentTime);
      }
      catch (ParseException e)
      {
            LogManager.getDebugLog().error("", e);
      }
      return date;
    }

    /**
   * 得到当前格林威治的日期和时间
   *
   * @return String
   */
    public static String getUTCDateTimeNow()
    {
      // 取时区
      TimeZone zone = TimeZone.getDefault();

      Calendar c = Calendar.getInstance();

      Date date = new Date();

      // 计算时区偏差
      c.setTimeInMillis(date.getTime() - zone.getOffset(date.getTime()));

      // 格式化
      SimpleDateFormat formatter = new SimpleDateFormat(DATE_FARMAT);

      String dateString = formatter.format(c.getTime());

      return dateString;
    }
页: [1]
查看完整版本: 日期和时间工具类