zoukankan      html  css  js  c++  java
  • Java String和Date的转换

    String—>Date方法一:

    String dateString = "2016-01-08";  
    try  
    {  
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd ");  
        Date date = sdf.parse(dateString);  
    }  
    catch (ParseException e)  
    {  
        System.out.println(e.getMessage());  
    }  

    String—>Date方法二:

    import java.text.ParseException;  
    import java.text.SimpleDateFormat;  
    import java.util.Calendar;  
    import java.util.Date;  
      
    import org.apache.commons.lang.StringUtils;  
      
    /** 
     * 日期Util类 
     *  
     * @author calvin 
     */  
    public class DateUtil  
    {  
        private static String defaultDatePattern = "yyyy-MM-dd ";  
      
        /** 
         * 获得默认的 date pattern 
         */  
        public static String getDatePattern()  
        {  
            return defaultDatePattern;  
        }  
      
        /** 
         * 返回预设Format的当前日期字符串 
         */  
        public static String getToday()  
        {  
            Date today = new Date();  
            return format(today);  
        }  
      
        /** 
         * 使用预设Format格式化Date成字符串 
         */  
        public static String format(Date date)  
        {  
            return date == null ? " " : format(date, getDatePattern());  
        }  
      
        /** 
         * 使用参数Format格式化Date成字符串 
         */  
        public static String format(Date date, String pattern)  
        {  
            return date == null ? " " : new SimpleDateFormat(pattern).format(date);  
        }  
      
        /** 
         * 使用预设格式将字符串转为Date 
         */  
        public static Date parse(String strDate) throws ParseException  
        {  
            return StringUtils.isBlank(strDate) ? null : parse(strDate,  
                    getDatePattern());  
        }  
      
        /** 
         * 使用参数Format将字符串转为Date 
         */  
        public static Date parse(String strDate, String pattern)  
                throws ParseException  
        {  
            return StringUtils.isBlank(strDate) ? null : new SimpleDateFormat(  
                    pattern).parse(strDate);  
        }  
      
        /** 
         * 在日期上增加数个整月 
         */  
        public static Date addMonth(Date date, int n)  
        {  
            Calendar cal = Calendar.getInstance();  
            cal.setTime(date);  
            cal.add(Calendar.MONTH, n);  
            return cal.getTime();  
        }  
      
        public static String getLastDayOfMonth(String year, String month)  
        {  
            Calendar cal = Calendar.getInstance();  
            //
            cal.set(Calendar.YEAR, Integer.parseInt(year));  
            // 月,因为Calendar里的月是从0开始,所以要-1  
            // cal.set(Calendar.MONTH, Integer.parseInt(month) - 1);  
            // 日,设为一号  
            cal.set(Calendar.DATE, 1);  
            // 月份加一,得到下个月的一号  
            cal.add(Calendar.MONTH, 1);  
            // 下一个月减一为本月最后一天  
            cal.add(Calendar.DATE, -1);  
            return String.valueOf(cal.get(Calendar.DAY_OF_MONTH));// 获得月末是几号  
        }  
      
        public static Date getDate(String year, String month, String day)  
                throws ParseException  
        {  
            String result = year + "- "  
                    + (month.length() == 1 ? ("0 " + month) : month) + "- "  
                    + (day.length() == 1 ? ("0 " + day) : day);  
            return parse(result);  
        }  
    }  

    Date—>String:

    1 String sdate;
    2 Date ddate;4 sdate=(new SimpleDateFormat("yyyy-MM-dd")).format(ddate);  

    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,不需要另外的函数。

  • 相关阅读:
    时钟同步
    通过 profiling 定位 golang 性能问题
    览器全面禁用三方 Cookie 全栈前端精选 4月16日
    为什么Go自带的日志默认输出到os.Stderr?
    gRPC Motivation and Design Principles | gRPC https://grpc.io/blog/principles/
    应用安全开发指南
    Hash Join: Basic Steps
    Building a high performance JSON parser
    阿姆达尔定律 Amdahl's law
    贝壳找房小程序平台架构演进
  • 原文地址:https://www.cnblogs.com/guop/p/5113654.html
Copyright © 2011-2022 走看看