根据地区和时区获取当地时间
生活随笔
收集整理的這篇文章主要介紹了
根据地区和时区获取当地时间
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
本例創(chuàng)建一個處理GET請求和POST請求的servlet
servlet TimeForm中的GET方法顯示一個窗體:
Submit后的結(jié)果:
源代碼:
1 import javax.servlet.*;
2 import javax.servlet.http.*;
3 import java.io.*;
4 import java.text.DateFormat;
5 import java.util.*;
6 public class TimeForm extends HttpServlet{
7 private static final String CONTENT_TYPE="text/html;charset=GBK";
8 private Locale[] allLocale=Locale.getAvailableLocales();
9 private String[] allTimeZone=TimeZone.getAvailableIDs();
10
11 public void doGet(HttpServletRequest request,HttpServletResponse response)
12 throws ServletException,IOException{
13 //解決顯示中文的問題
14 response.setContentType(CONTENT_TYPE);
15 request.setCharacterEncoding("GBK");
16 PrintWriter out=response.getWriter();
17 out.println("<h3>Choose locale and time zone</h3>");
18 out.println("<form method=\"post\" action="+"/LEARN/TimeForm>");
19 out.println("Locale <select size=\"1\" name=\"locale\">");
20 for(int i=0;i<allLocale.length;++i){
21 out.println("<option value=\""+i+"\">"+
22 allLocale[i].getDisplayName()+"</option>");
23 }
24 out.println("</select>");
25
26 out.println("<p>Time Zone<select size=\"1\" name=\"timezone\"");
27 for(int i=0;i<allTimeZone.length;++i){
28 out.println("<option value=\""+allTimeZone[i]+"\">"+allTimeZone[i]
29 +"</option>");
30 }
31 out.println("</select");
32
33 out.println("<p><input type=\"submit\" value=\"Submit\">");
34 out.println("<input type=\"reset\" value=\"Reset\"></p>");
35 out.println("</Form>");
36 out.close();
37 }
38
39 public void doPost(HttpServletRequest request,HttpServletResponse response)
40 throws ServletException,IOException{
41 response.setContentType(CONTENT_TYPE);
42 //response.setContentType( "text/html;charset=GBK ");
43 request.setCharacterEncoding("GBK");
44 PrintWriter out=response.getWriter();
45 int localeIndex=Integer.parseInt(request.getParameter("locale"));
46 String timeZoneID = request.getParameter("timezone");
47 out.println("<html>");
48 out.println("<head><title>Current Time</title></head>");
49 out.println("<body>");
50 Calendar calendar=new GregorianCalendar(allLocale[localeIndex]);
51
52 //TimeZone 表示時區(qū)偏移量,也可以計(jì)算夏令時。
53 TimeZone timezone=TimeZone.getTimeZone(timeZoneID);
54 // 獲取日期/時間格式器,該格式器具有給定語言環(huán)境的給定格式化風(fēng)格。
55 DateFormat dateFormat=DateFormat.getDateTimeInstance(DateFormat.FULL
56 , DateFormat.FULL, allLocale[localeIndex]);
57 dateFormat.setTimeZone(timezone);
58 out.println("Current time is "+dateFormat.format(calendar.getTime())+"</p>");
59 out.println("</body></html>");
60 out.close();
61 }
62 }
總結(jié)
以上是生活随笔為你收集整理的根据地区和时区获取当地时间的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 更新版本
- 下一篇: 什么是I帧,P帧,B帧