package com.company.tag;
import java.io.IOException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;
@SuppressWarnings("serial")
public class DateFormatTag extends TagSupport{
/**
* 后台返回的自1970-1-1 00:00:00-至今的毫秒数
*/
private long logNum;
/**
* 客户端时区
*/
private int clientZone;
@SuppressWarnings("static-access")
@Override
public int doStartTag() throws JspException {
JspWriter out = this.pageContext.getOut();
//将临时区的时间转换
Calendar calendar=Calendar.getInstance();
//设置时间
calendar.setTimeInMillis(logNum);
//获取客户端时区与服务器时区之间的差值
calendar.add(calendar.HOUR_OF_DAY, clientZone);
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateStr=dateFormat.format(calendar.getTime());
try {
out.println(dateStr);
} catch (IOException e) {
e.printStackTrace();
}
return EVAL_PAGE;
}
public long getLogNum() {
return logNum;
}
public void setLogNum(long logNum) {
this.logNum = logNum;
}
public int getClientZone() {
return clientZone;
}
public void setClientZone(int clientZone) {
this.clientZone = clientZone;
}
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@page import="java.util.TimeZone"%>
<%@page import="java.util.Date"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title></title>
<%
Date timeZone=new Date();
%>
</head>
<body>
<script type="text/javascript">
var d = new Date();
document.write(d.getTimezoneOffset()/60);
</script>
<br/>
<%=timeZone.getTimezoneOffset()%>
<!-- Asia/Shanghai -->
</body>
</html>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_2.dtd">
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>page</short-name>
<tag>
<name>DateFormatTag</name>
<tag-class>com.company.tag.DateFormatTag</tag-class>
<!--这里是自定义标签类的完整类名:我这里是DateFormatTag-->
<body-content>empty</body-content>
<attribute>
<name>logNum</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
<attribute>
<name>clientZone</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>
</taglib>
分享到:
相关推荐
timezone-picker是一款带世界地图的jquery时区选择插件。该jquery时区选择器采用响应式设计,使你可以快速的在一张基于SVG的世界地图上选择不同的时区。
是一款带世界地图的jquery时区选择插件。该jquery时区选择器采用响应式设计,使你可以快速的在一张基于SVG的世界地图上选择不同的时区。
木偶额外插件时区 根据打开的每个页面的IP地理位置设置正确的时区。 Browser实例打开后,将提取正确的时区并将其保存到缓存。 属于它的所有页面都将模拟其时区。 对于无法检测到时区的IP,将使用标准的puppeteer-...
C#调用Windows API获取和修改时区,C#提升进程修改时区的权限
解析插件时区 关于 该插件处理时区转换以及获取当前时间。 例子: time New York time Time in Warsaw 安装 $ npm install @parsify/core @parsify/timezone 用法 import Parsify from '@parsify/core' ; import ...
世界时区 地球分为多个时区。大多数时区恰好相隔一小时,并且按照惯例,将其本地时间计算为与UTC或GMT的偏移量。在许多地方,由于DST转换,这些偏移量每年两次变化。时区是地球上或多或少受经度线限制的区域,它具有...
Linux系统手动修改时区和时间: 1.修改时区: 2.关于时区的设置:
1. 查看当前时区 # vi /etc/sysconfig/clock 2. 修改设置时区 方法(1) # tzselect 方法(2 仅限于RedHat Linux 和 CentOS) # timeconfig 3. 复制相应的时区文件,替换系统默认时区 # cp /usr/share/zoneinfo/$主...
时区是一个简单的扩展,看看当前的时间是在世界各地 (目前支持405个城市) 快速有趣地添加来自400多个城市的时区。 :check_mark:向下拖动以添加新的时区。 :check_mark:重新排序您保存的时区。 :check_mark:包括405...
Android 时区自动更新
很多简装系统没有时区,这个压缩文件有三个注册表 把三个注册表分别使用,可把系统时间的时区补全
c# 时区 api SetTimeZoneInformation
警告:在区域“其他”中,在此请不要使用任何时区列表(除 UTC 外),仅用于向后兼容。 在“时差”中,指的是,设定时区与格林威治时间(GMT)的差别。 关于PHPzone,认真、固执、盲目。 wangyouworld wangyouworld#...
解决误删时区的问题,可用于windows各类版本。希望对大家有用。
1 android 世界时区; 2 数据存储世界时区,含经纬度
win7系统全部时区的注册表文件,下载后双击即可加入到系统注册表中,这时全部时区都会显示出来。
在詹金斯当地时区显示时间 在Jenkins的不同时区显示时间,而不是始终显示UTC时间。在这个版本中,我们支持以下时区: *台北时间(UTC + 0800) * 世界标准时间 *美国太平洋时间(UTC + 0800或UTC + 0700)取决于夏令...
可根据设定的时间范围,自动修改时区,使时间定位在某段范围内,使用Serveice实现后台运行!
oracle19.0时区版本35补丁p31335037_190000_Linux-x86-64.zip 注意:此补丁只适用于oracle19.3版本用来添加35版本时区,其他版本使用会报错 我会再上传一个适用于19c所有oracle版本的35版本时区补丁 补丁用于解决ORA...