Java String和Date的转换 转http://www.cnblogs.com/bmbm/archive/2011/12/06/2342264.html

Java String和Date的转换

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. import org.apache.commons.lang.StringUtils;
  6. /**
  7. * 日期Util类
  8. *
  9. * @author calvin
  10. */
  11. public class DateUtil
  12. {
  13. private static String defaultDatePattern = "yyyy-MM-dd ";
  14. /**
  15. * 获得默认的 date pattern
  16. */
  17. public static String getDatePattern()
  18. {
  19. return defaultDatePattern;
  20. }
  21. /**
  22. * 返回预设Format的当前日期字符串
  23. */
  24. public static String getToday()
  25. {
  26. Date today = new Date();
  27. return format(today);
  28. }
  29. /**
  30. * 使用预设Format格式化Date成字符串
  31. */
  32. public static String format(Date date)
  33. {
  34. return date == null ? " " : format(date, getDatePattern());
  35. }
  36. /**
  37. * 使用参数Format格式化Date成字符串
  38. */
  39. public static String format(Date date, String pattern)
  40. {
  41. return date == null ? " " : new SimpleDateFormat(pattern).format(date);
  42. }
  43. /**
  44. * 使用预设格式将字符串转为Date
  45. */
  46. public static Date parse(String strDate) throws ParseException
  47. {
  48. return StringUtils.isBlank(strDate) ? null : parse(strDate,
  49. getDatePattern());
  50. }
  51. /**
  52. * 使用参数Format将字符串转为Date
  53. */
  54. public static Date parse(String strDate, String pattern)
  55. throws ParseException
  56. {
  57. return StringUtils.isBlank(strDate) ? null : new SimpleDateFormat(
  58. pattern).parse(strDate);
  59. }
  60. /**
  61. * 在日期上增加数个整月
  62. */
  63. public static Date addMonth(Date date, int n)
  64. {
  65. Calendar cal = Calendar.getInstance();
  66. cal.setTime(date);
  67. cal.add(Calendar.MONTH, n);
  68. return cal.getTime();
  69. }
  70. public static String getLastDayOfMonth(String year, String month)
  71. {
  72. Calendar cal = Calendar.getInstance();
  73. // 年
  74. cal.set(Calendar.YEAR, Integer.parseInt(year));
  75. // 月,因为Calendar里的月是从0开始,所以要-1
  76. // cal.set(Calendar.MONTH, Integer.parseInt(month) - 1);
  77. // 日,设为一号
  78. cal.set(Calendar.DATE, 1);
  79. // 月份加一,得到下个月的一号
  80. cal.add(Calendar.MONTH, 1);
  81. // 下一个月减一为本月最后一天
  82. cal.add(Calendar.DATE, -1);
  83. return String.valueOf(cal.get(Calendar.DAY_OF_MONTH));// 获得月末是几号
  84. }
  85. public static Date getDate(String year, String month, String day)
  86. throws ParseException
  87. {
  88. String result = year + "- "
  89. + (month.length() == 1 ? ("0 " + month) : month) + "- "
  90. + (day.length() == 1 ? ("0 " + day) : day);
  91. return parse(result);
  92. }
  93. }

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

时间: 2024-12-29 23:10:18

Java String和Date的转换 转http://www.cnblogs.com/bmbm/archive/2011/12/06/2342264.html的相关文章

java反射详解 (转至 http://www.cnblogs.com/rollenholt/archive/2011/09/02/2163758.html)

本篇文章依旧采用小例子来说明,因为我始终觉的,案例驱动是最好的,要不然只看理论的话,看了也不懂,不过建议大家在看完文章之后,在回过头去看看理论,会有更好的理解. 下面开始正文. [案例1]通过一个对象获得完整的包名和类名 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 package Reflect; /**  * 通过一个对象获得完整的包名和类名  * */ class Demo{     //other codes... } class hello{     pu

java中的多线程(转自http://www.cnblogs.com/rollenholt/archive/2011/08/28/2156357.html)

在java中要想实现多线程,有两种手段,一种是继续Thread类,另外一种是实现Runable接口. 对于直接继承Thread的类来说,代码大致框架是: 1 2 3 4 5 6 7 8 9 10 11 12 class 类名 extends Thread{ 方法1; 方法2: … public void run(){ // other code… } 属性1: 属性2: … } 先看一个简单的例子: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19

Java String和Date的转换和 Date类型操作

 String->Date String dateString = "2017-03-11 "; try { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd "); Date date = sdf.parse(dateString); } catch (ParseException e) { System.out.println(e.getMessage()); } /** * 字符串转换到时间格

详细讲解 java 中的synchronized 转自 http://www.cnblogs.com/devinzhang/archive/2011/12/14/2287675.html

Java synchronized详解 第一篇: 使用synchronized 在编写一个类时,如果该类中的代码可能运行于多线程环境下,那么就要考虑同步的问题.在Java中内置了语言级的同步原语 --synchronized,这也大大简化了Java中多线程同步的使用.我们首先编写一个非常简单的多线程的程序,是模拟银行中的多个线程同时对同一 个储蓄账户进行存款.取款操作的.在程序中我们使用了一个简化版本的Account类,代表了一个银行账户的信息.在主程序中我们首先生成了 1000个线程,然后启动

java String和Date转换

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 时区 */ DateFormat format1 = new SimpleDate

String和Date 互相转换

1.String ->Date String StrDate = "2012-12-12"; SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");      Date date = new Date();      date=sdf.parse(StrDate); 2.Date ->String   String  StrDate = ""; Date date = new

c# 和 java <转载>http://www.cnblogs.com/zhucai/archive/2011/02/16/csharp-compare-java.html

从语法层面来讲,c# 和 java 是非常相似的. <转载> 这篇文章对C#与Java做一个语言级的对比,方便C#转Java或Java转C#的人有个大致了解.这里大致用C#3.0与Java6.0做比较. 写完后得知维基百科里有更加全面得多的比较: http://en.wikipedia.org/wiki/Comparison_of_C_Sharp_and_Java .NET(C#)   Java   基本类型   基本类型 C#中有无符号数,Java没有. C#中有值类型,且可自己定义值类型的

Struts2中Date日期转换的问题

今天跑程序的时候莫名其妙的出现了下面的一个异常: java.lang.NoSuchMethodException:com.ca.agent.model.mybatis.ApprovalInforCangra.setSubDate([Ljava.lang.String;) 这类异常信息在以前是处理过的,按照以前的思路在eclipse的调试模式下看看具体的情况,不过这次比较奇怪,根本没进入到对应的Action类中就抛出了此异常信息,进一步查找发现,在调用拦截器方法的时候就抛出了此异常信息,还有没有想

MySQL 里的 Timestrap 和 DateTime 和 Java 中的 Date

世界标准时(UTC) 和 格林威治标准时(GMT) 怎么样的时间算是准确的呢?例如这一分种内是60s ,而下一分钟实际走到了59秒的时候却显示一分钟到了,即是时间快了,这样定义为不准确.下面两个解释可以帮助理解两者的区别. UTC是我们现在用的时间标准,GMT是老的时间计量标准.UTC是根据原子钟来计算时间,而GMT是根据地球的自转和公转来计算时间,也就是太阳每天经过位于英国伦敦郊区的皇家格林威治天文台的时间就是中午12点.由于现在世界上最精确的原子钟50亿年才会误差1秒(最精确原子钟问世:50