zoukankan      html  css  js  c++  java
  • 根据地区和时区获取当地时间

    本例创建一个处理GET请求和POST请求的servlet

    servlet TimeForm中的GET方法显示一个窗体:

    Submit后的结果:

    源代码:

     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 表示时区偏移量,也可以计算夏令时。
    53         TimeZone timezone=TimeZone.getTimeZone(timeZoneID);
    54         // 获取日期/时间格式器,该格式器具有给定语言环境的给定格式化风格。
    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 }
  • 相关阅读:
    理解OAuth 2.0
    asp.net core webapi/website+Azure DevOps+GitHub+Docker
    ASP.NET Core分布式项目实战
    Docker 在 centos 7上升级
    35.Docker安装Mysql挂载Host Volume
    34.Docker安装Mysql参数及环境变量使用
    33.Docker安装Mysql及用户配置
    32.Docker安装MongoDb
    如何用Spring Boot自定义Banner
    如何实现JDK10的新特性:var泛型和多个接口,案例详解
  • 原文地址:https://www.cnblogs.com/redlight/p/2594837.html
Copyright © 2011-2022 走看看