首页 > 编程知识 正文

字符串转时间格式,字符串转换成日期

时间:2023-05-04 15:42:10 阅读:51574 作者:2431

用法: simpledateformatsdf=newsimpledateformat (yyyy-mm-ddhh 3360 mm : ss );

这一行是最重要的,它建立了转换的格式。 yyyy是完整的公历年,MM是月份,dd是日期,对于HH:mm:ss,请参见

没必要再解释了吧。

PS :为什么有大写格式,也有小写格式? 那是因为担心会避免混淆。 例如,毫米是月亮,毫米是分钟; HH小24

是时间制,hh是12小时制。

1 .字符串日期

要将2008-07-10 19:20:00转换为日期,可以使用datedate=SDF.parse (2008-07-1019336020336000 )。

2 .日期转换字符串

要将今天的日期转换为字符串,请使用stringstr=SDF.format(newdate );

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

此API允许您将日期自由转换为所需的字符串格式。 例如,您想要将日期输出到2008

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

simpledateformatsdf=newsimpledateformat (yyyy年MM月dd日);

stringstr=SDF.format(newdate );

str将根据我们设定的格式输出。

创建的简单示例:

1 importjava.util.Date; 2导入Java.text.parse exception; 3导入Java.text.simple date format; 4

publicclassconvertdemo

7 /**

8 *将日期转换为字符串9 *@paramdate10 *@returnstr11 */

12 publicstaticstringdatetostr (数据) 13

14 simpledateformatformat=newsimpledateformat (yyyy-mm-ddhh 3360 mm : ss ); 15stringstr=format.format(date ); 16返回str; (十八)十八

19 /**

20 *将字符串转换为第21天21 *@paramstr22 *@returndate23 */

24公共数据传输(stringstr ) 25

26简单数据格式格式=newsimpledateformat (yyyy-mm-ddhh 3360 mm : ss ); 27日期=null; 28try{29date}=format.parse(str; 30 ) catch(parseexceptione ) {31 e.printStackTrace ); 32 ) 33返回日期; 三十五)三十五

36 publicstaticvoidmain (字符串[ ] args ) 37

38日期=new date (; 39 System.out.println (日期转换字符串:“转换demo.datetostr ) date”40 system.out.println (转换demo.strtoostln ) 41

42 ) 43

) 45 ) 45

46 Java中的日期格式转换47

48 /**

49 *将字符串转换为java.util.Date

50 *支持格式为yyyy.mm.ddg ' at ' hh : mm : ssz,如' 2002-1-1 AD at 22:10:59 PSD '

51 * yy/MM/dd HH:mm:ss例如“2002/1/1 17:55:00”

52 * yy/MM/dd HH:mm:ss pm例如“2002/1/1 17:55:00 pm”

53 * yy-MM-dd HH:mm:ss例如“2002-1-1 17:55:00”

54 *@paramtime String字符串

55 * @返回日期

56 */

57公共数据传输格式(stringtime ) { 58简单数据格式格式器; 59inttemppos=time.indexof(ad ); 60 time=time.trim (; 61 formatter=newsimpledateformat (yyyy.mm.ddg ' at ' hh : mm : ssz ); 62if(tempPos-1 ) 63time=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 returnctime;87 }88

89 /**

90 * 将java.util.Date 格式转换为字符串格式'yyyy-MM-dd HH:mm:ss'(24小时制)
91 * 如Sat May 11 17:24:21 CST 2002 to '2002-05-11 17:24:21'
92 *@paramtime Date 日期
93 *@returnString 字符串
94 */

95

96

97 public staticString dateToString(Date time){98 SimpleDateFormat formatter;99 formatter = new SimpleDateFormat ("yyyy-MM-dd HH:mm:ss");100 String ctime =formatter.format(time);101

102 returnctime;103 }104

105

106 /**

107 * 将java.util.Date 格式转换为字符串格式'yyyy-MM-dd HH:mm:ss a'(12小时制)
108 * 如Sat May 11 17:23:22 CST 2002 to '2002-05-11 05:23:22 下午'
109 *@paramtime Date 日期
110 *@paramx int 任意整数如:1
111 *@returnString 字符串
112 */

113 public static String dateToString(Date time,intx){114 SimpleDateFormat formatter;115 formatter = new SimpleDateFormat ("yyyy-MM-dd KK:mm:ss a");116 String ctime =formatter.format(time);117

118 returnctime;119 }120

121

122

123 /**

124 *取系统当前时间:返回只值为如下形式125 *2002-10-30 20:24:39126 *@returnString127 */

128 public staticString Now(){129 return dateToString(newDate());130 }131

132 /**

133 *取系统当前时间:返回只值为如下形式134 *2002-10-30 08:28:56 下午135 *@paramhour 为任意整数136 *@returnString137 */

138 public static String Now(inthour){139 return dateToString(newDate(),hour);140 }141

142

143 /**

144 *取系统当前时间:返回值为如下形式145 *2002-10-30146 *@returnString147 */

148 public staticString getYYYY_MM_DD(){149 return dateToString(new Date()).substring(0,10);150

151 }152

153

154 /**

155 *取系统给定时间:返回值为如下形式156 *2002-10-30157 *@returnString158 */

159 public staticString getYYYY_MM_DD(String date){160 return date.substring(0,10);161

162 }163

164

165 public staticString getHour(){166 SimpleDateFormat formatter;167 formatter = new SimpleDateFormat ("H");168 String ctime = formatter.format(newDate());169 returnctime;170 }171

172 public staticString getDay(){173 SimpleDateFormat formatter;174 formatter = new SimpleDateFormat ("d");175 String ctime = formatter.format(newDate());176 returnctime;177 }178

179 public staticString getMonth(){180 SimpleDateFormat formatter;181 formatter = new SimpleDateFormat ("M");182 String ctime = formatter.format(newDate());183 returnctime;184 }185

186 public staticString getYear(){187 SimpleDateFormat formatter;188 formatter = new SimpleDateFormat ("yyyy");189 String ctime = formatter.format(newDate());190 returnctime;191 }192

193 public staticString getWeek(){194 SimpleDateFormat formatter;195 formatter = new SimpleDateFormat ("E");196 String ctime = formatter.format(newDate());197 returnctime;198 }

日期比较:

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

1 import java.text.*;2 import java.util.*;3

4 public classTest{5

6  public static voidmain(String[] args){7   try{8    Date date=newDate();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)

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。