zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    three.js_ "Failed to execute 'texImage2D' on 'WebGLRenderingContext': tainted canvases may not be loded."
    three.js为何如此奇妙
    npm install ERR! code E400/E404
    小程序_请求封装network
    css_input[checked]复选框去掉默认样式并添加新样式
    【CSS】凹槽的写法
    剑指Offer_编程题_6
    剑指Offer_编程题_5
    剑指Offer_编程题_4
    剑指Offer_编程题_3
  • 原文地址:https://www.cnblogs.com/jenson138/p/4138030.html
Copyright © 2011-2022 走看看