六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 40|回复: 0

日期和时间工具类

[复制链接]

升级  12.67%

19

主题

19

主题

19

主题

秀才

Rank: 2

积分
69
 楼主| 发表于 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;
    }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表