⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 java_utildate.htm

📁 写给JSP初级程序员的书
💻 HTM
📖 第 1 页 / 共 2 页
字号:
<html>
<!-- #BeginTemplate "/Templates/more.dwt" --> 
<head>
<!-- #BeginEditable "doctitle" --> 
<title>csdn_java.util中的Date类</title>
<!-- #EndEditable --> 
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<STYLE type=text/css>
A:link {
	COLOR: #000000; FONT-FAMILY:verdana,宋体,新宋体; TEXT-DECORATION: none
}
A:visited {
	COLOR: #333399; FONT-FAMILY:verdana,宋体,新宋体; TEXT-DECORATION: none
}
A:active {
	COLOR: #ff0000; FONT-FAMILY:verdana,宋体,新宋体; TEXT-DECORATION: none
}
A:hover {
	COLOR: black; TEXT-DECORATION: underline
}
BODY {
	 COLOR: #000000; FONT-SIZE:9pt; LETTER-SPACING: normal; LINE-HEIGHT: 150%; WORD-SPACING: 2em
}
TH {
	FONT-SIZE: 9pt
}
TD {
	FONT-SIZE: 9pt
}
TD.page {
	COLOR: #000000; FONT-SIZE:9pt; LETTER-SPACING: normal; LINE-HEIGHT: 150%; WORD-SPACING: 2em
}
TD.title {
	COLOR: #000000; FONT-FAMILY:verdana,宋体,新宋体
}
TD.detail {
	COLOR: #9966ff; FONT-FAMILY:verdana,宋体,新宋体
}
</STYLE>

</head>
<body bgcolor="#FFFFFF" text="#000000" >
<div align="center"></div>
<table width="700" border="0" align="center">
  <tr> 
    <table width="700" border="1" cellpadding="1" cellspacing="0" bordercolorlight="#9898ba" bordercolordark="#000000">
        
      </table>
      <table width="700" cellspacing="0" cellpadding="0" bgcolor="9898ba" border="0">
        <tr valign="middle"></tr>
      </table>
      <div align="center"><b></div>
      <table width="700" border="0" cellspacing="0" cellpadding="0" bgcolor="eff3f9">
        <tr></tr>
      </table>
      <br>
      <table width="700" border="0">
        <tr> 
          <td width="20">&nbsp;</td>
          <td colspan="2"> 
            <div align="center"> 
              <h3><b><!-- #BeginEditable "5" --><font face="Verdana, Arial, Helvetica, sans-serif" >java.util中的Date类</font><!-- #EndEditable --></b></h3>
            </div>
          </td>
          <td width="20">&nbsp;</td>
        </tr>
        <tr> 
          <td width="20">&nbsp;</td>
          <td  colspan="2"><!-- #BeginEditable "6" --><br>
            在JSP中,我们经常要处理有关日期和时间的信息,这时候你可以使用java.util中的Date类,在编写Java源程序时,情况很明显,你必须通过“import 
            java.util.*”引入java.util软件包;而在编写JSP源程序时,由于Date不是JSP的默认对象,你仍然必须通过“&lt;%@ 
            page import=&quot;java.util.*&quot;”引入这个软件包。此外,由于在java.sql中存在一个同名的Date类,为了将这两者正确地区分,凡是用到java.util中的Date类时,你最好将其写成java.util.Date。<br>
            事实上,Date类并不仅仅表示日期,而是精确到毫秒。从这个角度看,也许将其称为DateTime更为合适,在本文中,我们有时也将Date称为日期,希望不会引起读者的误解。<br>
            在谈到java.util中的Date类时,我们经常会提到UTC和GMT,这两者几乎是同一概念。它们都是指的格林尼治标准时间,只不过UTC的称呼更为正式一点。两者的区别在于前者是一个天文上的概念,而后者是基于一个原子钟。在UTC中,每一年或两年会有一个“闰秒”,而我们一般不理会这个“闰秒”,但是在Java中,这造成我们有时会出现60秒或61秒。<br>
            Date类中有相应的方法,它可以将日期分解为年、月、日、时、分、秒,可以将其转换成一个字符串,它还可以执行反向的操作。但是从JDK1.1开始,Calendar类和Date 
            Format类也可以执行这两类的功能,按照Java的官方文件,相应的在Date类中的方法不再推荐使用。但是在原理上,两者并没过大的差别。在本文中,我们仍将介绍这些方法,只是会作相应的注明。<br>
            在所有情况下,这些方法所接受的参数都不需要满足有效范围;例如,一个日期如果被定义为1月32日,它将被解释为2月1日。
            <p> 一、Date的构造函数</p>
            <p> 1.1构造一个反映当时时间的Date实例<br>
              Date<br>
              public Date()<br>
              构造一个Date对象并对其进行初始化以反映当前时间。 </p>
            <p> 1.2从一个长整型数据构造一个Date实例<br>
              Date<br>
              public Date(long date)<br>
              构造一个Date对象,并根据相对于GMT 1970年1月1日00:00:00的毫秒数对其进行初始化。 <br>
              参数: <br>
              date - 相对于GMT 1970年1月1日00:00:00的毫秒数。 </p>
            <p> 1.3从年月日时分秒构造一个Date实例<br>
              Date<br>
              public Date(int year,<br>
              int month,<br>
              int date)<br>
              public Date(int year,<br>
              int month,<br>
              int date,<br>
              int hrs,<br>
              int min)<br>
              public Date(int year,<br>
              int month,<br>
              int date,<br>
              int hrs,<br>
              int min,<br>
              int sec)<br>
              这三个构造函数均不推荐使用,在JDK 1.1版中,分别被Calendar.set(year + 1900, month, date)或GregorianCalendar(year 
              + 1900, month, date)、Calendar.set(year + 1900, month, date, hrs, 
              min)或 GregorianCalendar(year + 1900, month, date, hrs, min)、Calendar.set(year 
              + 1900, month, date, hrs, min, sec)或GregorianCalendar(year + 1900, 
              month, date, hrs, min, sec)代替。 </p>
            <p> 构造一个Date对象,并分别将其初始化为year、month和date所对应日期的开始时间(即午夜)、year、month、date、hrs和min所对应分钟的开始时间、year、month、date、hrs、 
              min和sec所对应秒的开始时间。 <br>
              参数: <br>
              year - 年份减去1900。 <br>
              month - 月份在0-11之间。 <br>
              date - 日期在1-31之间。 <br>
              hrs - 小时在0-23之间。 <br>
              min - 分钟在0-59之间。 <br>
              sec - 秒在0-59之间。 </p>
            <p> 1.4从一个字符串构造一个Date实例<br>
              Date<br>
              public Date(String s)<br>
              不推荐使用。 在JDK 1.1版中,被DateFormat.parse(String s)代替。 <br>
              构造一个Date对象,并将其初始化为字符串s所对象的日期和时间。对字符串的解析将和parse(java.lang.String)方法一样。 
              <br>
              参数: <br>
              s - 一个反映日期的字符串。 </p>
            <p> 二、其它方法</p>
            <p> 2.1将一个字符串转换成Date对象相应的长整形表示<br>
              parse<br>
              public static long parse(String s)<br>
              不推荐使用。 在JDK 1.1版中,被DateFormat.parse(String s)代替。 <br>
              试图将字符串s作为日期和时间的表示来解析。如果解析是成功的,将返回相对于GMT 1970年1月1日00:00:00的毫秒数。反之,将抛出IllegalArgumentException例外。 
              <br>
              它可以接受许多语句格式;具体地说,它可以理解这种格式:&quot;Sat, 12 Aug 1995 13:30:00 GMT&quot;。它也可以理解U.S.这样的时区缩写,但是通常,我们这样表示时区:&quot;Sat, 
              12 Aug 1995 13:30:00 GMT+0430&quot;。如果没指明时区,那就表示默认当前的时区。在这里,GMT和UTC表示相同的概念。 
              <br>
              字符串s是从左到右进行处理的。在“(”和“)”之间的字符将被忽略。括号可以嵌套。此外,该字符串只能包含以下字符: <br>
              abcdefghijklmnopqrstuvwxyz<br>
              ABCDEFGHIJKLMNOPQRSTUVWXYZ<br>
              0123456789,+-:/<br>
              和空格。 <br>
              在该字符串中出现的数字将按以下规则解析: <br>
              如果一个数字以+或-开头,而且年份已经被验证,那么这个数字将被认为是时区设置。如果这个数字小于24,这代表是时区偏移的小时。否则,就是时区偏移的分钟。符号-表示西部的时区。时区设置总是相对于UTC的。这样,例如,-5表示&quot;格林尼治西5小时&quot;,而+0430 
              表示&quot;格林尼治东4小时30分&quot;。你也可以使用冗余的字符:GMT、UT和UTC。例如,GMT-5或utc+0430。 
              <br>
              如果满足下列条件之一,这个数字将表示年份: <br>
              1、数字等于或大于70而且后面跟着一个空格、逗号或斜杠,或者是在字符串的结尾。 <br>
              2、如果数字小于70,而且月份或日期已经被定义。<br>
              如果表示年份的数字小于100,这是一个缩写,表示在当前的80年之前、19年之后的一个区间中一个年份。如果当前是1999年,那么19到99表示1919到1999,而0到18表示2000到2018。这里需要特别注意和SimpleDateFormat中的不同。 
              <br>
              如果数字后面跟着一个冒号,这表示小时,除非小时已经被定义。在小时已经被定义的情况下,这表示分钟。 <br>
              如果数字后面跟着一个斜杠,这表示月份(这里0到11表示一到十二月),除非月份已经被定义。在月份已经被定义的情况下,这表示日期。 
              <br>
              如果数字后面跟着一个空格、逗号或连字号,或者是在字符串的结尾,在已经定义了小时但还没有定义分钟的情况下,这表示分钟;在已经定义了小时和分钟但还没有定义秒的情况下,这表示秒;否则这表示日期。 
              <br>
              在该字符串中出现的字母将按以下规则解析: <br>
              AM(忽略大小写),将被忽略(但是如果小时未被定义、小于1或大于12,解析将失败)。 <br>
              PM(忽略大小写),将在小时后加12(但是如果小时未被定义、小于1或大于12,解析将失败)。 <br>
              SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY和SATURDAY以及它们的前缀(忽略大小写),将被忽略。例如sat, 
              Friday, TUE和Thurs都将被忽略。 <br>
              此外,JANUARY、FEBRUARY、MARCH、APRIL、MAY、JUNE、JULY、AUGUST、SEPTEMBER、OCTOBER、NOVEMBER和DECEMBER以及它们的前缀(忽略大小写),将按这里的顺序被视为表示月份并将其转换成数字(0 
              to 11)。例如,aug, Sept, april和NOV都表示月份。而Ma将被理解为MARCH而不是MAY。 <br>
              GMT, UT和UTC(忽略大小写),将被视为UTC。 <br>
              EST, CST, MST和PST(忽略大小写),将被视为北美的时区,分别是格林尼治西5小时、6小时、7小时、8小时。而EDT, 
              CDT, MDT和PDT表示同一概念。<br>
              当全部字符串被扫描时,如果时区被定义,时间被认为是UTC的时间,然后再应用时区。否则,时间指当前时区的时间。<br>
              参数: <br>
              s - 一个作为日期解析的日期。 <br>
              返回: <br>
              相对于GMT 1970年1月1日00:00:00的毫秒数。 <br>
              2.2获取Date对象中的年、月、日、时、分、秒元素以及星期<br>
              getYear<br>
              public int getYear()<br>
              getMonth<br>
              public int getMonth()<br>
              getDate<br>
              public int getDate()<br>
              getDay<br>
              public int getDay()<br>
              getHours<br>
              public int getHours()<br>
              getMinutes<br>
              public int getMinutes()<br>
              getSeconds<br>
              public int getSeconds()<br>
              这组方法均不推荐使用。 JDK 1.1版中,分别被Calendar.get(Calendar.YEAR) - 1900、Calendar.get(Calendar.MONTH)、Calendar.get(Calendar.DAY_OF_MONTH)、Calendar.get(Calendar.DAY_OF_WEEK)、Calendar.get(Calendar.HOUR_OF_DAY)、Calendar.get(Calendar.MINUTE)、Calendar.get(Calendar.SECOND)代替。 
              <br>
              其功能依次为:<br>
              返回Date所对应年份减去1900。 <br>
              返回Date对象所对应的月份。返回值在0到11之间,0表示1月。 <br>
              返加这个Date对象的日期。返回值在1到31之间。 <br>
              返回这个日期的星期。(0 = 星期天, 1 = 星期一, 2 = 星期二, 3 = 星期三, 4 = 星期四, 5 = 星期五, 
              6 = 星期六) <br>
              返加这个Date对象的小时。返回值是一个0到23的数字。 <br>
              返回这个日期的分钟,返回值在0到59之间。 <br>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -