﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-学习是为了明天，为了更好的明天，需要更努力的学习！-随笔分类-Java</title><link>http://www.blogjava.net/louieling/category/19082.html</link><description>学会做人</description><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 08:49:08 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 08:49:08 GMT</pubDate><ttl>60</ttl><item><title>java中的时间操作（转） </title><link>http://www.blogjava.net/louieling/archive/2007/01/10/92798.html</link><dc:creator>路易</dc:creator><author>路易</author><pubDate>Wed, 10 Jan 2007 00:40:00 GMT</pubDate><guid>http://www.blogjava.net/louieling/archive/2007/01/10/92798.html</guid><wfw:comment>http://www.blogjava.net/louieling/comments/92798.html</wfw:comment><comments>http://www.blogjava.net/louieling/archive/2007/01/10/92798.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/louieling/comments/commentRss/92798.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/louieling/services/trackbacks/92798.html</trackback:ping><description><![CDATA[
		<div class="postTitle">
				<span lang="EN-US" style="FONT-FAMILY: Verdana">java</span>
				<span lang="ZH-CN" style="FONT-FAMILY: SimSun">中的时间操作不外乎这四种情况：</span>
		</div>
		<div class="postText">
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="EN-US" style="FONT-FAMILY: Verdana">1</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">、获取当前时间</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="EN-US" style="FONT-FAMILY: Verdana">2</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">、获取某个时间的某种格式</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="EN-US" style="FONT-FAMILY: Verdana">3</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">、设置时间</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="EN-US" style="FONT-FAMILY: Verdana">4</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">、时间的运算</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">好，下面就针对这三种情况，一个一个搞定。</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">
						<strong>一、获取当前时间</strong>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">有两种方式可以获得，第一种，使用</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">Date</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">类。</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="EN-US" style="FONT-FAMILY: Verdana">j2SE</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">的包里有两个</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">Date</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">类，一个是</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">java.sql.Date,</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">一个是</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">java.util.Date</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">这里，要使用</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">java.util.Date</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">。获取当前时间的代码如下</span>
				</p>
				<span class="Code">
						<p lang="EN-US" style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">Date date = new Date();</p>
						<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
								<span lang="ZH-CN">date.getTime()</span>
								<span lang="EN-US">;</span>
						</p>
				</span>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">还有一种方式，使用</span>
						<span lang="ZH-CN" style="FONT-FAMILY: Verdana">
								<span class="Code">
										<span lang="ZH-CN" style="FONT-FAMILY: Verdana">System.currentTimeMillis()</span>
										<span lang="EN-US" style="FONT-FAMILY: Verdana">;</span>
								</span>
						</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">这两种方式获得的结果是一样的，都是得到一个当前的时间的</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">long</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">型的时间的毫秒值，这个值实际上是当前时间值与</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">1970</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">年一月一号零时零分零秒相差的毫秒数。</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">当前的时间得到了，但实际的应用中最后往往不是要用这个</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">long</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">型的东西，用户希望得到的往往是一个时间的字符串，比如“</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">2006</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">年</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">6</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">月</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">18</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">号”，或“</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">2006-06-18</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">”，老外可能希望得到的是“</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">06-18-2006</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">”，诸如此类等等。这就是下一个要解决的问题</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">
						<strong>二、获取某个时间的某种格式</strong>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span style="FONT-FAMILY: SimSun">获取时间的格式，需要用到一个专门用于时间格式的类</span>
						<span style="FONT-FAMILY: Verdana">java.text.SimpleDateFormat</span>
						<span style="FONT-FAMILY: SimSun">。</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span style="FONT-FAMILY: SimSun">首先，定义一个</span>
						<span style="FONT-FAMILY: Verdana">SimpleDateFormat</span>
						<span style="FONT-FAMILY: SimSun">变量</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
						<span class="Code">SimpleDateFormat sdf = new SimpleDateFormat("",Locale.SIMPLIFIED_CHINESE);</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">这个构造函数的定义如下：</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span style="FONT-FAMILY: Verdana">SimpleDateFormat(String</span>
						<span style="FONT-FAMILY: SimSun"> </span>
						<span style="FONT-FAMILY: Verdana">pattern, Locale</span>
						<span style="FONT-FAMILY: SimSun"> </span>
						<span style="FONT-FAMILY: Verdana">locale) </span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">第一个参数</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">pattern</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">，我们后面再解释，这里我们使用一个</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">"",</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">第二个参数，是用来设置时区的，这里用到了</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">java.util.Locale</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">这个类，这个类了面定义了很多静态变量，直接拿过来用就</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">OK</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">，我们把时区设置为</span>
						<span lang="ZH-CN" style="FONT-FAMILY: Verdana">Locale.SIMPLIFIED_CHINESE</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">，只看名字，这个静态变量的意义已经很清楚了。</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">接下来我们使用这个</span>
						<span lang="ZH-CN" style="FONT-FAMILY: Verdana">SimpleDateFormat</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">把当前时间格式化为一个如下格式的时间字符串“</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">XXXX</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">年</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">XX</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">月</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">XX</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">日</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">_XX</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">时</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">XX</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">分</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">XX</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">秒”，代码：</span>
				</p>
				<span class="Code">
						<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">sdf.applyPattern("yyyy年MM月dd日_HH时mm分ss秒");</p>
						<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">String timeStr = sdf.format(new Date()); </p>
				</span>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1"> </p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">获取时间格式的函数是</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">format</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">，这个函数的参数是</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">java.util.Date</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">对象，这个没有什么花头。</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">要说明一下的是这个</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">pattern</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">，所谓的模式。这里，</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">yyyy,MM,dd</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">等，这就是模式。</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span style="FONT-FAMILY: SimSun">我们可以在</span>
						<span style="FONT-FAMILY: Verdana">SimpleDateFormat</span>
						<span style="FONT-FAMILY: SimSun">的构造函数中指定模式，比如</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: Verdana; mso-outline-level: 1">
						<span lang="ZH-CN">
								<span class="Code">
										<span lang="ZH-CN">SimpleDateFormat sdf = new SimpleDateFormat("</span>
										<span lang="EN-US">yyyy-MM-dd</span>
										<span lang="ZH-CN">",Locale.SIMPLIFIED_CHINESE);</span>
								</span>
						</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; FONT-FAMILY: SimSun; mso-outline-level: 1">也可以获取时间格式的时候使用applyPattern函数临时指定，上面的例子就是这样。</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">什么字符代表什么，这是</span>
						<span lang="EN-US" style="FONT-FAMILY: Verdana">j2se</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">约定好的，设置模式的时候，我们可以使用约定好的字符加上任何我们想要的字符串。</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="EN-US" style="FONT-FAMILY: Verdana">j2se</span>
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">对字符所代表的模式的约定列表如下：</span>
				</p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
						</span> </p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
						</span> </p>
				<p style="FONT-SIZE: 10pt; MARGIN: 0in; mso-outline-level: 1">
						<span lang="ZH-CN" style="FONT-FAMILY: SimSun">
								<table cellspacing="1" cellpadding="1" width="500" align="center" summary="" border="0">
										<tbody>
												<tr>
														<td>
																<font size="3">Letter</font>
														</td>
														<td>
																<font size="3">
																		<span style="FONT-WEIGHT: bold">
																				<font size="3">Date or Time Component</font>
																		</span>
																</font>
														</td>
														<td>
																<font size="3">
																		<span style="FONT-WEIGHT: bold">
																				<font size="3">Presentation </font>
																		</span>
																</font>
														</td>
												</tr>
												<tr>
														<td>G</td>
														<td>Era designator </td>
														<td>Text </td>
												</tr>
												<tr>
														<td>y</td>
														<td>Year </td>
														<td>Year </td>
												</tr>
												<tr>
														<td>M </td>
														<td>Month in year </td>
														<td>Month </td>
												</tr>
												<tr>
														<td>w </td>
														<td>Week in year </td>
														<td>Number </td>
												</tr>
												<tr>
														<td>W </td>
														<td>Week in month </td>
														<td>Number </td>
												</tr>
												<tr>
														<td>D </td>
														<td>Day in year</td>
														<td>Number </td>
												</tr>
												<tr>
														<td>d </td>
														<td>Day in month </td>
														<td>Number </td>
												</tr>
												<tr>
														<td>F </td>
														<td>Day of week in month </td>
														<td>Number </td>
												</tr>
												<tr>
														<td>E </td>
														<td>Day in week </td>
														<td>Text</td>
												</tr>
												<tr>
														<td>a </td>
														<td>Am/pm marker </td>
														<td>Text </td>
												</tr>
												<tr>
														<td>H </td>
														<td>Hour in day (0-23)</td>
														<td>Number </td>
												</tr>
												<tr>
														<td>k </td>
														<td>Hour in day (1-24)</td>
														<td>Number </td>
												</tr>
												<tr>
														<td>K </td>
														<td>Hour in am/pm (0-11) </td>
														<td>Number </td>
												</tr>
												<tr>
														<td>h  </td>
														<td>Hour in am/pm (1-12) </td>
														<td>Number </td>
												</tr>
												<tr>
														<td>m  </td>
														<td>Minute in hour </td>
														<td>Number </td>
												</tr>
												<tr>
														<td>s  </td>
														<td>Second in minute </td>
														<td>Number </td>
												</tr>
												<tr>
														<td>S  </td>
														<td>Millisecond </td>
														<td>Number  </td>
												</tr>
												<tr>
														<td>z  </td>
														<td>Time zone  </td>
														<td>General time zone </td>
												</tr>
												<tr>
														<td>Z  </td>
														<td>Time zone </td>
														<td>RFC 822 time zone</td>
												</tr>
										</tbody>
								</table>
						</span>
				</p>
		</div>
<img src ="http://www.blogjava.net/louieling/aggbug/92798.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/louieling/" target="_blank">路易</a> 2007-01-10 08:40 <a href="http://www.blogjava.net/louieling/archive/2007/01/10/92798.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>