您的位置:首页 > 编程语言 > Java开发

java string与date类型转换

2016-06-15 09:23 441 查看
/**

    SimpleDateFormat函数语法

  

         G 年代标志符

         y 年

         M 月

         d 日

         h 时 在上午或下午 (1~12)

         H 时 在一天中 (0~23)

         m 分

         s 秒

         S 毫秒

         E 星期

         D 一年中的第几天

         F 一月中第几个星期几

         w 一年中第几个星期

         W 一月中第几个星期

         a 上午 / 下午 标记符 

         k 时 在一天中 (1~24)

         K 时 在上午或下午 (0~11)

         z 时区常见标准的写法"yyyy-MM-dd HH:mm:ss",注意大小写,时间是24小时制,24小时制转换成12小时制只需将HH改成hh,不需要另外的函数。

//   2011-5-31 14:40:50    yyyy-MM-dd hh:mm:ss

   //  Fri, 10 Jun 2016 09:02:48    EEE, dd MMM yyyy HH:mm:ss

*/

Code:

import java.sql.Timestamp;  

import java.text.DateFormat;  

import java.text.ParseException;  

import java.text.SimpleDateFormat;  

import java.util.Date;  

  

import org.apache.commons.logging.Log;  

import org.apache.commons.logging.LogFactory;  

   

public class DateUtil {  

    private static final Log log = LogFactory.getLog(DateUtil.class);  

  

    /** 

     * 将时间字符串转换为Date类型 

     * @param dateStr 

     * @return Date 

     */  

    public static Date toDate(String dateStr) {  

        Date date = null;  

        SimpleDateFormat formater = new SimpleDateFormat();  

        formater.applyPattern("yyyy-MM-dd");  

        try {  

            date = formater.parse(dateStr);  

        } catch (ParseException e) {  

            e.printStackTrace();  

        }  

        return date;  

    }  

  

    /** 

     * 按照提供的格式将字符串转换成Date类型 

     * @param dateStr 

     * @param formaterString 

     * @return 

     */  

    public static Date toDate(String dateStr, String formaterString) {  

        Date date = null;  

        SimpleDateFormat formater = new SimpleDateFormat();  

        formater.applyPattern(formaterString);  

        try {  

            date = formater.parse(dateStr);  

        } catch (ParseException e) {  

            e.printStackTrace();  

        }  

        return date;  

    }  

  

    /** 

     * 将Date类型时间转换为字符串 

     * @param date 

     * @return 

     */  

    public static String toString(Date date) {  

  

        String time;  

        SimpleDateFormat formater = new SimpleDateFormat();  

        formater.applyPattern("yyyy-MM-dd");  

        time = formater.format(date);  

        return time;  

    }  

  

    /** 

     * 按照参数提供的格式将Date类型时间转换为字符串 

     * @param date 

     * @param formaterString 

     * @return 

     */  

    public static String toString(Date date, String formaterString) {  

        String time;  

        SimpleDateFormat formater = new SimpleDateFormat();  

        formater.applyPattern(formaterString);  

        time = formater.format(date);  

        return time;  

    }  

  

    /** 

     * method 将字符串类型的日期转换为一个timestamp(时间戳记java.sql.Timestamp) 

     * @param dateString 

     *            需要转换为timestamp的字符串 

     * @return dataTime timestamp 

     */  

    public final static java.sql.Timestamp string2Time(String dateString)  

            throws java.text.ParseException {  

        DateFormat dateFormat;  

//      dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS",  

//              Locale.ENGLISH);// 设定格式  

         dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm");  

        dateFormat.setLenient(false);  

        java.util.Date timeDate = dateFormat.parse(dateString);// util类型  

        java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());// Timestamp类型,timeDate.getTime()返回一个long型  

        return dateTime;  

    }  

  

    /** 

     * method 将字符串类型的日期按照转换为一个timestamp(时间戳记java.sql.Timestamp) 

     *  

     * @param dateString 需要转换为timestamp的字符串 

     * @param formaterString dateString字符串的解析格式 

     * @return 

     * @throws java.text.ParseException 

     */  

    public final static java.sql.Timestamp string2Time(String dateString,  

            String formaterString) throws java.text.ParseException {  

        DateFormat dateFormat;  

        dateFormat = new SimpleDateFormat(formaterString);// 设定格式  

        // dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss");  

        dateFormat.setLenient(false);  

        java.util.Date timeDate = dateFormat.parse(dateString);// util类型  

        java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());// Timestamp类型,timeDate.getTime()返回一个long型  

        return dateTime;  

    }  

  

    public static void main(String[] args) throws ParseException {  

        String t = DateUtil.toString(new Date());  

        System.out.println(t);  

        Date date = DateUtil.toDate("2010-06-17");  

        System.out.println(date);  

  

//      String sToTimestamp = "2005-8-18 14:21:12.123";// 用于转换成java.sql.Timestamp的字符串  

        String sToTimestamp = "2005-8-18 14:21";// 用于转换成java.sql.Timestamp的字符串  

        Timestamp Timestamp = string2Time(sToTimestamp);  

        System.out.println(Timestamp);  

  

    }  

  

}  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息