常用的时间日期处理类

常用的时间日期处理类

 

铁树

tieshu

rngguliu@163.com

200643日星期一

JSP/J2EE/JAVA的开发中,经常使用一些日期和时间的转换,特将经常使用的一些方法封装在一起,方便使用。

 

1 DateUtils概览

 

构造函数概览

DateUtils()            

 

 

方法概览

static String

Adddate(String strDate, int days) //将日期字符串加天数转换成新日期字符串

static String

getDateCS()  // 获取当前日期(中国,yyyy年MM月dd日)

static String

getDateId() //用当前日期作为文件名,一般不会重名 取到的值是从当前时间的字符串格式,带有微秒,建议作为记录id 。

static String

getFileName()  //用当前日期作为文件名,一般不会重名 取到的值是从1970年1月1日00:00:00开始算起所经过的微秒数。

static String

getLongStr() //获取当前时间的长字符串形式 "yyyy-MM-dd HH:mm:ss"

static String

getLongStr(Date date) //获取给定时间的长字符串形式 "yyyy-MM-dd HH:mm:ss"

static String

getLongStr(int d)//获得d天后的现在时刻;长字符串形式 "yyyy-MM-dd HH:mm:ss"

static  Date

getNow()//获取当前的时间

static String

getShortStr() //获取当前时间的短字符串形式 "yyyy-MM-dd"//必须大写MM(月份)

static String

getShortStr(Date date) //获取给定时间的短字符串形式 "yyyy-MM-dd"

static String

getWeekCS()//获取当前星期(中国, 如:星期日,星期一,星期二)

static  Date

toLongDate(String strDate)

//将字符串转换为一般时间的长格式:yyyy-MM-dd HH:mm:ss

static Date

toShortDate(String strDate)  //将字符串转换为一般时间的短格式;yyyy-MM-dd

 

2JSP调用实例

<%@ page contentType="text/html;charset=GBK"%>

<html><head></head><body>

<%=general.DateUtils.getWeekCS()%><br>

<%=general.DateUtils.getDateCS()%><br>

<%=general.DateUtils.getLongStr()%><br>

<%=general.DateUtils.getLongStr(2)%><br>

<%=general.DateUtils.getDateId()%><br>

<%=general.DateUtils.getFileName()%><br>

</body></html>

输出:

星期一
2006年04月03日
2006-04-03 21:
23:45
2006-04-05
21:23:45
20060403212345508
1144070625508

3DateUtils源码:

 

/**

 * @author  铁树

* 有关时间日期进行处理的方法

 */

package general;

import java.util.*;

import java.text.*;

public class DateUtils {

 

    /**

     *  //获取当前星期(中国, 如:星期日,星期一,星期二)

     */

    public static String getWeekCS() {

        Calendar c= GregorianCalendar.getInstance();

        c.setFirstDayOfWeek(Calendar.SUNDAY);

        String []s={"星期日","星期一","星期二","星期三","星期四","星期五","星期六"};

        return s[c.get(Calendar.DAY_OF_WEEK)-1];

    }

    /**

     *  //获取当前日期(中国,yyyy年MM月dd日)

     */

    public static String getDateCS() {

        Date currentTime = new Date();

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日");

        String dateString = formatter.format(currentTime);

        return dateString;

    }

    /**

     *  //获取当前时间的长字符串形式 "yyyy-MM-dd HH:mm:ss"//必须大写MM(月份)

     */

    public static String getLongStr() {

        Date currentTime = new Date();

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String dateString = formatter.format(currentTime);

        return dateString;

    }

    /**

     * //获得d天后的现在时刻;长字符串形式 "yyyy-MM-dd HH:mm:ss"

     * @param d //d天后

     */

    public static String getLongStr(int d) {

        //Date currentTime = new Date();

        Calendar c= GregorianCalendar.getInstance();

        c.add(Calendar.DATE,d);//获得d天后的现在时刻

        Date date= c.getTime();

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String dateString = formatter.format(date);

        return dateString;

    }

    /**

     *  //获取给定时间的长字符串形式 "yyyy-MM-dd HH:mm:ss"//必须大写MM(月份)

     */

    public static String getLongStr(Date date) {

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        String dateString = formatter.format(date);

        return dateString;

    }

    /**

     *  //获取当前时间的短字符串形式 "yyyy-MM-dd"//必须大写MM(月份)

     */

    public static String getShortStr() {

        Date currentTime = new Date();

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

        String dateString = formatter.format(currentTime);

        return dateString;

    }

    /**

     *  //获取给定时间的短字符串形式 "yyyy-MM-dd"//必须大写MM(月份)

     */

    public static String getShortStr(Date date) {

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

        String dateString = formatter.format(date);

        return dateString;

    }

    /**

     *  //将字符串转换为一般时间的长格式:yyyy-MM-dd HH:mm:ss

     */

    public static Date toLongDate(String strDate) {

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

        ParsePosition pos = new ParsePosition(0);//从0开始解析

        Date strtodate = formatter.parse(strDate, pos);

        return strtodate;

    }

    /**

     *  //将字符串转换为一般时间的短格式;yyyy-MM-dd

     */

    public static Date toShortDate(String strDate) {

        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd");

        ParsePosition pos = new ParsePosition(0);//从0开始解析

        Date strtodate = formatter.parse(strDate, pos);

        return strtodate;

    }

    /**

     *  //将日期字符串加天数转换成新日期字符串     *

     * @param strDate//原日期字符串:yyyy-MM-dd

     * @param days//增加的天数

     */

    public static String Adddate(String strDate, int days) {

        String[] date = strDate.split("-"); //将要转换的日期字符串拆分成年月日

        int year, month, day;

        year = Integer.parseInt(date[0]);

        month = Integer.parseInt(date[1]) - 1;

        day = Integer.parseInt(date[2]);

        GregorianCalendar d = new GregorianCalendar(year, month, day);

        d.add(Calendar.DATE, days);

        Date dd = d.getTime();

        DateFormat df = DateFormat.getDateInstance();

        String adddate = df.format(dd);

        return adddate;

    }

    /**

     *  //获取当前的时间

     */

    public static Date getNow() {

        Date currentTime = new Date();

        return currentTime;

    }

    /**

     * //用当前日期作为文件名,一般不会重名 取到的值是从1970年1月1日00:00:00开始算起所经过的微秒数。一秒是一千微秒。

     */

    public static String getFileName() {

        java.util.Calendar calendar = java.util.Calendar.getInstance();

        String filename = String.valueOf(calendar.getTimeInMillis());//文件名

        return filename;

    }

    /**

     * //用当前日期作为文件名,一般不会重名 取到的值是从当前时间的字符串格式,带有微秒,建议作为记录id 。一秒是一千微秒。

     */

    public static String getDateId() {

        Date currentTime = new Date();

        java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat(

                "yyyyMMddHHmmssSSS");

        String dateString = formatter.format(currentTime);

        return dateString;

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值