android JAVA字符串转日期或日期转字符串(转)

用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " );

这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期,至于HH:mm:ss

就不需要我再解释了吧!

PS:为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分;HH是24小

时制,而hh是12小时制。

1.字符串转日期
2008-07-10 19:20:00 要把它转成日期,可以用 Date date = sdf.parse( " 2008-07-10 19:20:00 " );

2.日期转字符串

假如把今天的日期转成字符串可用 String str = sdf.format(new Date());

这个字符串内容的格式类似2008-07-10 19:20:00。

透过这个API我们便可以随心所欲的将日期转成我们想要的字符串格式,例如希望将日期输出成2008

年7月10日,我们可以这么写:

SimpleDateFormat sdf = new SimpleDateFormat( " yyyy年MM月dd日 " );

String str = sdf.format(new Date());

str便会依照我们设定的格式输出了。

附编写好的一个简单实例:

  1 import java.util.Date;
  2 import java.text.ParseException;
  3 import java.text.SimpleDateFormat;
  4
  5 public class ConvertDemo {
  6
  7 /**
  8 * 日期转换成字符串
  9 * @param date
 10 * @return str
 11 */
 12 public static String DateToStr(Date date) {
 13
 14    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 15    String str = format.format(date);
 16    return str;
 17 }
 18
 19 /**
 20 * 字符串转换成日期
 21 * @param str
 22 * @return date
 23 */
 24 public static Date StrToDate(String str) {
 25
 26    SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 27    Date date = null;
 28    try {
 29     date = format.parse(str);
 30    } catch (ParseException e) {
 31     e.printStackTrace();
 32    }
 33    return date;
 34 }
 35
 36 public static void main(String[] args) {
 37
 38    Date date = new Date();
 39    System.out.println("日期转字符串:" + ConvertDemo.DateToStr(date));
 40    System.out.println("字符串转日期:" + ConvertDemo.StrToDate(ConvertDemo.DateToStr(date)));
 41
 42 }
 43
 44 }
 45
 46 Java中日期格式转换
 47
 48 /**
 49    * 字符串转换为java.util.Date<br>
 50    * 支持格式为 yyyy.MM.dd G ‘at‘ hh:mm:ss z 如 ‘2002-1-1 AD at 22:10:59 PSD‘<br>
 51    * yy/MM/dd HH:mm:ss 如 ‘2002/1/1 17:55:00‘<br>
 52    * yy/MM/dd HH:mm:ss pm 如 ‘2002/1/1 17:55:00 pm‘<br>
 53    * yy-MM-dd HH:mm:ss 如 ‘2002-1-1 17:55:00‘ <br>
 54 * @param time String 字符串<br>
 55    * @return Date 日期<br>
 56    */
 57 public static Date stringToDate(String time){
 58     SimpleDateFormat formatter;
 59     int tempPos=time.indexOf("AD") ;
 60     time=time.trim() ;
 61     formatter = new SimpleDateFormat ("yyyy.MM.dd G ‘at‘ hh:mm:ss z");
 62     if(tempPos>-1){
 63       time=time.substring(0,tempPos)+
 64            "公元"+time.substring(tempPos+"AD".length());//china
 65       formatter = new SimpleDateFormat ("yyyy.MM.dd G ‘at‘ hh:mm:ss z");
 66     }
 67     tempPos=time.indexOf("-");
 68     if(tempPos>-1&&(time.indexOf(" ")<0)){
 69       formatter = new SimpleDateFormat ("yyyyMMddHHmmssZ");
 70     }
 71     else if((time.indexOf("/")>-1) &&(time.indexOf(" ")>-1)){
 72       formatter = new SimpleDateFormat ("yyyy/MM/dd HH:mm:ss");
 73     }
 74     else if((time.indexOf("-")>-1) &&(time.indexOf(" ")>-1)){
 75       formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
 76     }
 77     else if((time.indexOf("/")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){
 78       formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a");
 79     }
 80     else if((time.indexOf("-")>-1) &&(time.indexOf("am")>-1) ||(time.indexOf("pm")>-1)){
 81       formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a");
 82     }
 83     ParsePosition pos = new ParsePosition(0);
 84     java.util.Date ctime = formatter.parse(time, pos);
 85
 86     return ctime;
 87 }
 88
 89 /**
 90    * 将java.util.Date 格式转换为字符串格式‘yyyy-MM-dd HH:mm:ss‘(24小时制)<br>
 91    * 如Sat May 11 17:24:21 CST 2002 to ‘2002-05-11 17:24:21‘<br>
 92    * @param time Date 日期<br>
 93    * @return String   字符串<br>
 94    */
 95
 96
 97 public static String dateToString(Date time){
 98     SimpleDateFormat formatter;
 99     formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");
100     String ctime = formatter.format(time);
101
102     return ctime;
103 }
104
105
106 /**
107    * 将java.util.Date 格式转换为字符串格式‘yyyy-MM-dd HH:mm:ss a‘(12小时制)<br>
108    * 如Sat May 11 17:23:22 CST 2002 to ‘2002-05-11 05:23:22 下午‘<br>
109    * @param time Date 日期<br>
110    * @param x int 任意整数如:1<br>
111    * @return String 字符串<br>
112    */
113 public static String dateToString(Date time,int x){
114     SimpleDateFormat formatter;
115     formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a");
116     String ctime = formatter.format(time);
117
118     return ctime;
119 }
120
121
122
123 /**
124    *取系统当前时间:返回只值为如下形式
125    *2002-10-30 20:24:39
126 * @return String
127    */
128 public static String Now(){
129     return dateToString(new Date());
130 }
131
132 /**
133    *取系统当前时间:返回只值为如下形式
134    *2002-10-30 08:28:56 下午
135    *@param hour 为任意整数
136    *@return String
137    */
138 public static String Now(int hour){
139     return dateToString(new Date(),hour);
140 }
141
142
143 /**
144    *取系统当前时间:返回值为如下形式
145    *2002-10-30
146    *@return String
147    */
148 public static String getYYYY_MM_DD(){
149     return dateToString(new Date()).substring(0,10);
150
151 }
152
153
154 /**
155    *取系统给定时间:返回值为如下形式
156    *2002-10-30
157    *@return String
158    */
159    public static String getYYYY_MM_DD(String date){
160     return date.substring(0,10);
161
162 }
163
164
165 public static String getHour(){
166     SimpleDateFormat formatter;
167     formatter = new SimpleDateFormat ("H");
168     String ctime = formatter.format(new Date());
169     return ctime;
170     }
171
172 public static String getDay(){
173       SimpleDateFormat formatter;
174     formatter = new SimpleDateFormat ("d");
175     String ctime = formatter.format(new Date());
176     return ctime;
177     }
178
179 public static String getMonth(){
180     SimpleDateFormat formatter;
181     formatter = new SimpleDateFormat ("M");
182     String ctime = formatter.format(new Date());
183     return ctime;
184     }
185
186 public static String getYear(){
187     SimpleDateFormat formatter;
188     formatter = new SimpleDateFormat ("yyyy");
189     String ctime = formatter.format(new Date());
190     return ctime;
191     }
192
193 public static String getWeek(){
194     SimpleDateFormat formatter;
195     formatter = new SimpleDateFormat ("E");
196     String ctime = formatter.format(new Date());
197     return ctime;
198     }

日期比较:

在JAVA中日期的计算与比较可以使用Date和DateFormat来解决,下面是一段示例代码:

 1 import java.text.*;
 2 import java.util.*;
 3
 4 public class Test{
 5
 6  public static void main(String[] args){
 7   try{
 8    Date date=new Date();
 9    DateFormat df=DateFormat.getDateTimeInstance();
10    String now=df.format(date);
11    System.out.println("现在时间:"+now);
12
13    System.out.println("现在时间是否在16:00之前:"+date.before(df.parse("2004-12-24 16:00:00")));
14   }
15   catch(ParseException e){System.out.print(e.getMessage());
16   }
17  }
18 }

查看更多点以下原贴网址:

(转自:http://wenku.baidu.com/link?url=t-ulNF0TZ3_5unuhBbU6topzg1ChyPbS75mNvM_M4-aZjnM38FisZ0XTBlhJrlXKgnhbSYKAE99W6WMI6zFFxQPMv9yqD__afoV7Gdb5Ivq)

时间: 2024-10-10 13:40:01

android JAVA字符串转日期或日期转字符串(转)的相关文章

java parse 带英文单词的日期字符串 转 date (转化新浪微博api返回的时间)

拂晓风起 专注前端技术cocos2d.js.flash.html5,联系:[email protected].如果读者要找腾讯工作机会,请不吝推荐简历. 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔- 227  文章- 0  评论- 336 java parse 带英文单词的日期字符串 转 date (转化新浪微博api返回的时间) 大家一般很少格式化或者parse带有Sun Nov等英文单词的字符串. 如果格式化英文月份的字符串,记得带上Locale.US参数,否则,JRE会按照当前地区

Java &quot;JSON中无分隔符日期字符串处理&quot;

Json 中日期类型数据处理,服务端传输的日期没有分隔符,一般格式就两种,[20151212121212]即yyyyMMddhhmmss和[121212]hhmmss import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.Locale; public class test { public static void main(String[] arg

Java字符串转日期或日期转字符串&amp;时间增加一天Calendar的使用

Java字符串转日期或日期转字符串 & 时间增加一天Calendar的使用 字符串转日期或日期转字符串 用法: SimpleDateFormat sdf = new SimpleDateFormat( " yyyy-MM-dd HH:mm:ss " ); 这一行最重要,它确立了转换的格式,yyyy是完整的公元年,MM是月份,dd是日期,至于HH:mm:ss,就不需要我再解释了吧! PS:为什么有的格式大写,有的格式小写,那是怕避免混淆,例如MM是月份,mm是分:HH是24小时制

java工具类(五)之日期格式字符串与日期实现互转

JAVA字符串转日期或日期转字符串 项目开发过程中需要实现日期格式的字符串与日期进行互转,并进行日期的加减操作. Demo如下: package weiming.lmapp.utils; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; public class DateConvert { /** * 日期转换成字符串 * @param date * @return

Java判断字符串是否符合yyyyMMdd日期格式

Java判断字符串是否符合yyyyMMdd日期格式 代码: /** * 判断参数的格式是否为"yyyyMMdd"格式的合法日期字符串 * */ public static boolean isValidDate(String str) { try { if (str != null && !str.equals("")) { if (str.length() == 8) { // 闰年标志 boolean isLeapYear = false; St

Java 8新的时间日期库的20个使用示例

除了lambda表达式,stream以及几个小的改进之外,Java 8还引入了一套全新的时间日期API,在本篇教程中我们将通过几个简单的任务示例来学习如何使用Java 8的这套API.Java对日期,日历及时间的处理一直以来都饱受诟病,尤其是它决定将java.util.Date定义为可修改的以及将SimpleDateFormat实现成非线程安全的. 看来Java已经意识到需要为时间及日期功能提供更好的支持了,这对已经习惯使用Joda时间日期库的社区而言也是件好事.关于这个新的时间日期库的最大的优

Java中的时间和日期(上)

自从JDK 1.0开始,Java就提供了Date来处理时间和日期,作为老古董自然有很多东西是过时的.然后出现了Calendar来解决了很多问题,但是Calendar使用比较复杂,并且有些反人类的地方.直到Java 8的出现,它吸收了Joda-Time库的经验,使得Java处理时间和日期变得比较"人性化"了.本篇就来谈谈Java中的Date.Calendar,以及SimpleDateFormat的使用.下一篇再对比一下Java 8中的日期处理. 古老的Date 查看一下Date类的源码,

Java中的时间和日期(下)

转载请注明出处:http://blog.csdn.net/wl9739/article/details/51882913 在上篇文章Java中的时间和日期(上)里面,简单介绍了Java中的Date类,Calendar类以及用于格式化的SimpleDateFormater类.使用这些的时候我们会明显地感受到其中的不便之处,比如,Calendar类的月份是从0开始计数的:日期格式输出不够友好,很多情况下都需要使用SimpleDateFormater类来格式化:一些简单得日期计算也比较麻烦等等.所以就

java 8中新的日期和时间API

java 8中新的日期和时间API 使用LocalDate和LocalTime LocalDate的实例是一个不可变对象,它只提供了简单的日期,并不含当天的时间信息.另外,它也不附带任何与时区相关的信息 LocalDate实例提供了多种方法来读取常用的值,比如年份,月份,星期几等 LocalDate date = LocalDate.of(2014,3,18); int year = date.getYear(); Month month = date.getMonth(); int day =

细谈Java中的时间与日期

Data类 java.util.Date类实在Java之中获得日期时间操作的最简单的一个程序类,这个类可以直接通过实例化Date类对象的形式获取当前的日期时间. 范例:获取当前的日期时间 import java.util.Date; public class Demo { public static void main(String args[]) { System.out.println(new Date()); } } 程序执行结果: Fri Mar 27 19:12:56 CST 2020