首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

日期和时间工具种

2012-12-21 
日期和时间工具类/*** 日期格式:yyyy-MM-dd HH:mm:ss*/public static final String DATE_FARMAT yyyy-M

日期和时间工具类
    /**
     * 日期格式: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;
    }

热点排行