文档章节

Java String和Date的转换

Airship
 Airship
发布于 2014/11/19 12:44
字数 525
阅读 11
收藏 0

String—>Date方法一:

  1. String dateString = "2012-12-06 ";  

  2. try  

  3. {  

  4.     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd ");  

  5.     Date date = sdf.parse(dateString);  

  6. }  

  7. catch (ParseException e)  

  8. {  

  9.     System.out.println(e.getMessage());  

  10. }  


String—>Date方法二:

  1. import java.text.ParseException;  

  2. import java.text.SimpleDateFormat;  

  3. import java.util.Calendar;  

  4. import java.util.Date;  

  5.   

  6. import org.apache.commons.lang.StringUtils;  

  7.   

  8. /** 

  9.  * 日期Util类 

  10.  *  

  11.  * @author calvin 

  12.  */  

  13. public class DateUtil  

  14. {  

  15.     private static String defaultDatePattern = "yyyy-MM-dd ";  

  16.   

  17.     /** 

  18.      * 获得默认的 date pattern 

  19.      */  

  20.     public static String getDatePattern()  

  21.     {  

  22.         return defaultDatePattern;  

  23.     }  

  24.   

  25.     /** 

  26.      * 返回预设Format的当前日期字符串 

  27.      */  

  28.     public static String getToday()  

  29.     {  

  30.         Date today = new Date();  

  31.         return format(today);  

  32.     }  

  33.   

  34.     /** 

  35.      * 使用预设Format格式化Date成字符串 

  36.      */  

  37.     public static String format(Date date)  

  38.     {  

  39.         return date == null ? " " : format(date, getDatePattern());  

  40.     }  

  41.   

  42.     /** 

  43.      * 使用参数Format格式化Date成字符串 

  44.      */  

  45.     public static String format(Date date, String pattern)  

  46.     {  

  47.         return date == null ? " " : new SimpleDateFormat(pattern).format(date);  

  48.     }  

  49.   

  50.     /** 

  51.      * 使用预设格式将字符串转为Date 

  52.      */  

  53.     public static Date parse(String strDate) throws ParseException  

  54.     {  

  55.         return StringUtils.isBlank(strDate) ? null : parse(strDate,  

  56.                 getDatePattern());  

  57.     }  

  58.   

  59.     /** 

  60.      * 使用参数Format将字符串转为Date 

  61.      */  

  62.     public static Date parse(String strDate, String pattern)  

  63.             throws ParseException  

  64.     {  

  65.         return StringUtils.isBlank(strDate) ? null : new SimpleDateFormat(  

  66.                 pattern).parse(strDate);  

  67.     }  

  68.   

  69.     /** 

  70.      * 在日期上增加数个整月 

  71.      */  

  72.     public static Date addMonth(Date date, int n)  

  73.     {  

  74.         Calendar cal = Calendar.getInstance();  

  75.         cal.setTime(date);  

  76.         cal.add(Calendar.MONTH, n);  

  77.         return cal.getTime();  

  78.     }  

  79.   

  80.     public static String getLastDayOfMonth(String year, String month)  

  81.     {  

  82.         Calendar cal = Calendar.getInstance();  

  83.         // 年  

  84.         cal.set(Calendar.YEAR, Integer.parseInt(year));  

  85.         // 月,因为Calendar里的月是从0开始,所以要-1  

  86.         // cal.set(Calendar.MONTH, Integer.parseInt(month) - 1);  

  87.         // 日,设为一号  

  88.         cal.set(Calendar.DATE, 1);  

  89.         // 月份加一,得到下个月的一号  

  90.         cal.add(Calendar.MONTH, 1);  

  91.         // 下一个月减一为本月最后一天  

  92.         cal.add(Calendar.DATE, -1);  

  93.         return String.valueOf(cal.get(Calendar.DAY_OF_MONTH));// 获得月末是几号  

  94.     }  

  95.   

  96.     public static Date getDate(String year, String month, String day)  

  97.             throws ParseException  

  98.     {  

  99.         String result = year + "- "  

  100.                 + (month.length() == 1 ? ("0 " + month) : month) + "- "  

  101.                 + (day.length() == 1 ? ("0 " + day) : day);  

  102.         return parse(result);  

  103.     }  

  104. }  

Date—>String

  1. String sdate;  

  2. Date ddate;  

  3. ……  

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


本文转载自:http://www.cnblogs.com/bmbm/archive/2011/12/06/2342264.html

共有 人打赏支持
Airship
粉丝 38
博文 896
码字总数 19689
作品 0
南京
高级程序员
私信 提问
SpringMVC参数绑定那些事

@RequestParam @ModelAttribute @RequestBody 简单类型,复杂类型 get;post:form-data x-www-form-urlencoded 简单参数绑定 通过get方式访问(post:x-www-form-urlencoded一样) 解析@Re...

4rnold
04/15
0
0
java 时间戳和PHP时间戳 的转换 php time()

最近在弄discuz,数据库mysql,时间类型int 10 原文http://hi.baidu.com/yuquan0405/item/ec4f804ac7e01c08e935046c 总结一下java 时间戳和PHP时间戳 的转换问题: 由于精度不同,导致长度不一...

干死it
2013/08/04
0
0
Java开发每日复盘2018_0515

今天跟大家分享几个Java小细节: 【1】「for each循环的写法」 【2】「常量 final 写法细节」 【3】「类型转换之String转其他」 下面我们来一个一个说: 【1】「for each循环的写法」 Java中:...

ZeroOSTalk
05/16
0
0
java时间戳和Android 微博时间戳 的转换问题

总结一下java时间戳和Android 微博时间戳 的转换问题: 总结一下java时间戳和Android 微博时间戳 的转换问题: 由于精度不同,导致长度不一致,直接转换错误。 JAVA时间戳长度是13位,如:1...

为梦而来
2013/11/12
0
0
Date对象存入mysql数据库

java.sql.Date,java.sql.Time和java.sql.Timestamp三个都是java.util.Date的子类(包装类)。 java.sql.Date是java.util.Date的子类,是一个包装了毫秒值的瘦包装器,允许 JDBC 将毫秒值标识...

颜建海
2014/04/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据解析之XPath & lxml库

XPath 定义 即XML路径语言(XML Path Language),是一种用来确定XML文档中某部分位置的语言,它基于XML的树状结构,提供在数据结构树中寻找节点的能力,也适用于HTML文档中; 开发工具 Chrome...

村雨1943
27分钟前
2
0
day148-2018-11-15-英语流利阅读-待学习

赴美生子恐结束?特朗普中期选举憋大招 毛西 2018-11-15 1.今日导读 在 2013 年,一部《北京遇上西雅图》让赴美生子这个曾经神秘的话题吸引了很多关注。每年,数以万计的父母远赴美国,并在那...

飞鱼说编程
57分钟前
34
0
OSChina 周四乱弹 —— 每次我穿短裙的时候

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @瘟神灬念 :分享DM DOKURO的单曲《Reality Check Through The Skull》: 差点以为手机卡了 《Reality Check Through The Skull》- DM DOKURO...

小小编辑
今天
537
10
Windows 10 设置 Java 环境变量

首先你需要在我的电脑中打开,找到环境变量属性。 找到环境变量属性 找到环境变量属性后单击将会看到下面的设置界面。 在这个界面中设置高级系统设置。 环境变量 在弹出的界面中选择设置环境...

honeymose
今天
4
0
用any-loader封装jQuery的XHR —— 随便写着玩系列

哎,都说没人用JQuery啦,叫你别写这个。 其实我也是好高骛远使用过npm上某个和某个很出名的XHR库,嗯,认识我的人都知道我喜欢喷JQ,以前天天喷,见面第一句,你还用JQ,赶紧丢了吧。但我也...

曾建凯
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部