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()); 
     }

 

 

 

 

 

 

 

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/13370.html

(0)
上一篇 2021年7月19日
下一篇 2021年7月19日

相关推荐

发表回复

登录后才能评论