zoukankan      html  css  js  c++  java
  • Java String和Date的转换 Date类型操作

    String—>Date

    String dateString = "2012-12-06 ";
    try
    {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd ");
        Date date = sdf.parse(dateString);
    }
    catch (ParseException e)
    {
        System.out.println(e.getMessage());
    }
    /**
         * 字符串转换到时间格式
         * @param dateStr 需要转换的字符串
         * @param formatStr 需要格式的目标字符串  举例 yyyy-MM-dd
         * @return Date 返回转换后的时间
         * @throws ParseException 转换异常
         */
        private Date parseDate(String strFormat, String dateValue) {
            if (dateValue == null)
                return null;
    
            if (strFormat == null)
                strFormat = "yyyyMMdd";
    
            DateFormat dateFormat = new SimpleDateFormat(strFormat);
            Date date = null;
    
            try {
                date = dateFormat.parse(dateValue);
            } catch (ParseException pe) {
                date = null;
            }
    
            return 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

    /**
         * Date转String
         * 
         * @param count
         * @return
         */
        @SuppressWarnings("unused")
        private String dateToString(Date date) {
            return (new SimpleDateFormat("yyyyMMdd")).format(date);
        }
        private Date addDays(Date date,int n){
            Calendar cal=Calendar.getInstance();
            cal.setTime(date);  
            //cal.add(Calendar.DATE, n);// n为增加的天数,可以改变的 
            cal.add(Calendar.DAY_OF_YEAR, n);  //小时加1  
             date = cal.getTime();  
            return date;
        }
        
        /**
          * 根据一个日期,返回是星期几的字符串
          *
          * @param date
          * @return
          */
         private String getWeek(Date date) {
              Calendar c = Calendar.getInstance();
              c.setTime(date);
              // int hour=c.get(Calendar.DAY_OF_WEEK);
              // hour中存的就是星期几了,其范围 1~7
              // 1=星期日 7=星期六,其他类推
              return new SimpleDateFormat("EEEE").format(c.getTime());
         }
  • 相关阅读:
    关于两次fork
    阻塞非阻塞与同步异步的区别
    函数调用堆栈
    数组
    64位操作系统与32位操作系统数据类型的字节数
    Redis 键(key)
    Redis 命令
    Redis 安装
    Redis 配置
    MongoDB 安装
  • 原文地址:https://www.cnblogs.com/mingforyou/p/3319938.html
Copyright © 2011-2022 走看看