java web 学习笔记(16)日期时间处理

20 篇文章 0 订阅
7 篇文章 0 订阅

日期时间处理

Servlet 最大的优势就是可以使用 Java 中的大多数可用的方法。处理时间也是非常的方便。处理时间一般是用Date类。首先介绍一下Date类的方法如下:
1.Date方法

序号方法
1boolean after(Date date)如果调用的 Date 对象中包含的日期在 date 指定的日期之后,则返回 true,否则返回 false。
2boolean before(Date date)如果调用的 Date 对象中包含的日期在 date 指定的日期之前,则返回 true,否则返回 false。
3Object clone( )重复调用 Date 对象。
4int compareTo(Date date)把调用对象的值与 date 的值进行比较。如果两个值是相等的,则返回 0。如果调用对象在 date 之前,则返回一个负值。如调用对象在 date 之后,则返回一个正值。
5int compareTo(Object obj)如果 obj 是 Date 类,则操作等同于 compareTo(Date)。否则,它会抛出一个 ClassCastException。
6boolean equals(Object date)如果调用的 Date 对象中包含的时间和日期与 date 指定的相同,则返回 true,否则返回 false。
7long getTime( )返回 1970 年 1 月 1 日以来经过的毫秒数。
8int hashCode( )为调用对象返回哈希代码。
9void setTime(long time)设置 time 指定的时间和日期,这表示从 1970 年 1 月 1 日午夜以来经过的时间(以毫秒为单位)。
10String toString( )转换调用的 Date 对象为一个字符串,并返回结果。

2。格式化时间
使用 SimpleDateFormat 格式化日期 SimpleDateFormat 是一个以语言环境敏感的方式来格式化和解析日期的具体类。 SimpleDateFormat 允许您选择任何用户定义的日期时间格式化的模式。
简单的日期格式的格式代码:

字符描述实例
GEra 指示器AD
y四位数表示的年2001
M一年中的月 July 或07
d一月中的第几天10
h带有 A.M./P.M. 的小时(1~12)12
H一天中的第几小时(0~23)22
m一小时中的第几分30
s一分中的第几秒55
S毫秒234
E一周中的星期几Tuesday
D一年中的第几天360
F所在的周是这个月的第几周2 (second Wed. in July)
w一年中的第几周40
W一月中的第几周1
aA.M./P.M. 标记PM
k一天中的第几小时(1~24)24
K带有 A.M./P.M. 的小时(0~11)10
z时区 Eastern StandardTime
Escape for textDelimiter
"单引号`

3.实例

package datedeal;

import java.io.IOException;
import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/Date")
public class DateDeal extends HttpServlet {
 private static final long serialVersionUID = 1L;
 
 protected void doGet(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  Date date=new Date(); //当前时间
  response.setContentType("text/html;charset=UTF-8"); //设置页面编码
  response.setHeader("Refresh","1"); //设置页面刷新时间
    SimpleDateFormat ft=new SimpleDateFormat ("yyyy.MM.dd '--' hh:mm:ss "); //设置时间格式
    
  //response.setCharacterEncoding("utf-8"); 
  PrintWriter out=response.getWriter(); //取输出流对象一定要在设置编码格式之后
  out.println("<!DOCTYPE html>\r\n" + 
    "<html>\r\n" + 
    "<head>\r\n" + 
    "<meta charset=\"UTF-8\">\r\n" + 
    "<title>当前时间</title>\r\n" + 
    "</head>\r\n" + 
    "<body>"+
    "<h1 align=\"center\"><b>当前时间:</b></h>"+ft.format(date)+
    "</body>\r\n" + 
    "</html>"); 
 }
 
 protected void doPost(HttpServletRequest request, HttpServletResponse response)
   throws ServletException, IOException {
  doGet(request, response);
 }
}

!小细节:在从 HttpServletResponse 对象获得输出流对象一定要在设置返回页面格式,编码之后。否则流对象输出的字符编码很有可能和页面编码不匹配而出现乱码。

访问结果:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值