`
风过无声
  • 浏览: 92631 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

夏令时

 
阅读更多

证明 Calendar.DST_OFFSET 和时区,还有时间相关

package com.siyuan.test.jdk;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.TimeZone;

public class DSTTest {
	
	public static String format(Calendar calendar) {
		return calendar.get(Calendar.YEAR) + "-"
			+ (calendar.get(Calendar.MONTH) + 1) + "-"
			+ calendar.get(Calendar.DATE) + " "
			+ calendar.get(Calendar.HOUR_OF_DAY) + ":"
			+ calendar.get(Calendar.MINUTE) + ":"
			+ calendar.get(Calendar.SECOND);
	}
	
	public static void main(String[] args) throws ParseException {
	    
	    //证明 Calendar.DST_OFFSET 和时区,还有时间相关
	    SimpleDateFormat dateFmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
	    Calendar calendar = Calendar.getInstance();
	    String time = "1991-04-07 00:00:00";
	    calendar.setTime(dateFmt.parse(time));
	    System.out.println(format(calendar));
	    System.out.println(calendar.getTimeZone());
	    System.out.println(calendar.get(Calendar.DST_OFFSET));
	    System.out.println("--------------------------------------------------------");
	    
	    //1.时间
	    calendar.add(Calendar.DATE, 7);
	    System.out.println(format(calendar));
	    System.out.println(calendar.getTimeZone());
	    System.out.println(calendar.get(Calendar.DST_OFFSET));
	    System.out.println("--------------------------------------------------------");
	    
	    //2.时区
	    time = "1991-04-07 00:00:00";
	    calendar.setTime(dateFmt.parse(time));
	    calendar.setTimeZone(TimeZone.getTimeZone("Europe/London"));
	    System.out.println(format(calendar));
	    System.out.println(calendar.getTimeZone());
	    System.out.println(calendar.get(Calendar.DST_OFFSET));
	    System.out.println("--------------------------------------------------------");
	    
	}

}

结果

1991-4-7 0:0:0
sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
0
--------------------------------------------------------
1991-4-14 1:0:0
sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=19,lastRule=null]
3600000
--------------------------------------------------------
1991-4-6 17:0:0
sun.util.calendar.ZoneInfo[id="Europe/London",offset=0,dstSavings=3600000,useDaylight=true,transitions=242,lastRule=java.util.SimpleTimeZone[id=Europe/London,offset=0,dstSavings=3600000,useDaylight=true,startYear=0,startMode=2,startMonth=2,startDay=-1,startDayOfWeek=1,startTime=3600000,startTimeMode=2,endMode=2,endMonth=9,endDay=-1,endDayOfWeek=1,endTime=3600000,endTimeMode=2]]
3600000
--------------------------------------------------------

 JRE中的ZoneInfo路径

%JRE_HOME%\lib\zi

  

分享到:
评论

相关推荐

    GPS自动调夏令时和冬令时授时系统.pdf

    "GPS自动调夏令时和冬令时授时系统.pdf" 本文主要介绍了 GPS 自动调夏令时和冬令时授时系统的设计和实现,旨在解决广播发射台的手动调夏令时、冬令时的问题。该系统由 GPS 天线、GPS 接收机、授时电脑和发射机...

    llinux 夏令时与各种时间

    夏令时(Daylight Saving Time, DST)是一个特殊的时间调整,某些地区在夏季会提前一个小时以利用更多日照时间。在`struct tm`中,`tm_isdst`字段用于标记是否处于夏令时期间。如果不确定当前时间是否为夏令时,该...

    SUN工作站夏令时问题处理方案

    在IT领域,夏令时(Daylight Saving Time, DST)是一个常见的系统管理问题,尤其是在运行特定操作系统如SUN Solaris的工作站上。SUN Solaris是Sun Microsystems开发的一个Unix操作系统,广泛应用于服务器和工作站...

    时区及夏令时检测(C#源码)

    用于检测当前的时区,并且判断该时区是否实行夏令时。

    基于java时区转换夏令时的问题及解决方法

    "基于Java时区转换夏令时的问题及解决方法" 在Java中进行时区转换时,需要了解夏令时的概念和时区的表示方法。夏令时是指在夏天的时候,将时钟拨快一个小时,以提早日光的使用。目前有110多个国家采用夏令时。 ...

    中国夏令时plist文件压缩包

    此plist文件为1935年至1991年,包含中国大陆,中国香港,中国澳门,中国台湾在内的夏令时日期。中国大陆于1992年取消夏令时

    使用js判断当前时区TimeZone是否是夏令时

    在计算机编程中,特别是使用JavaScript语言,判断当前时区是否实行夏令时是一项常见的需求,尤其对于处理时间数据的应用程序来说尤为重要。夏令时(Daylight Saving Time,简称DST)是一种为节约能源而人为调整本地...

    时区:Arduino库可促进时区转换和自动夏令时(夏令时)调整

    本文将详细讲解标题所提及的“时区:Arduino库可促进时区转换和自动夏令时(夏令时)调整”,以及相关的知识点。 首先,我们需要了解Arduino库的概念。Arduino库是一系列预先编写的代码,为开发者提供了方便的功能...

    夏令时补丁

    标题中的“夏令时补丁”可能是指针对计算机系统中处理夏令时期间问题的软件更新或修复程序。夏令时(Daylight Saving Time, DST)是某些国家和地区在夏季实行的一种时间调整制度,通常会将时钟向前拨动一小时以充分...

    夏令时:检查日期是否在美国夏令时-matlab开发

    在编程领域,特别是使用MATLAB这种强大的数值计算和数据分析环境时,有时我们需要处理与时间相关的任务,例如判断某个日期是否处于美国的夏令时。本文将深入探讨如何在MATLAB中实现这一功能,并结合给定的标题“夏令...

    js获得当前时区夏令时发生和终止的时间代码

    根据给定文件信息,我将详细解释如何使用JavaScript代码获取当前时区夏令时(Daylight Saving Time, DST)开始和结束的时间。 首先,我们需要了解夏令时是一种为了在夏季节约能源而调整时钟的时间制度,通过将时钟...

    由夏令时间所引起的时间差的解决方法

    由于夏令时的存在,当一个地区进入或退出夏令时状态时,与未实行夏令时地区的时差会发生变化,这往往会给跨时区的应用程序带来挑战。 #### 解决方案 1. **配置环境时区** - 在PHP环境中,可以通过修改`php.ini`...

    iOS NSDate中关于夏令时的坑

    iOS NSDate中的夏令时坑 iOS 开发中,处理日期和时间字符串的转换是非常常见的操作。然而,在 NSDate 中存在一个关于夏令时的坑,容易导致日期字符串转换失败。今天,我们就来一起探索这个问题,以及相关的解决方案...

    AWSDaylight:启用AWStats配置夏令时的应用程序-开源

    这是一个bash脚本,可以启用或禁用您的AWStats报告配置的夏令时。 AWSDaylight.sh -t时区-c CONFS -d -n [-p PATHCONFS] -h -h:显示此帮助消息-t:定义正常时间的时区。 例如:-3(至巴西)-c:定义要更改的conf。 ...

    2020最新版MT4必备指标-交易所开闭市时间-夏令时自动切换

    2020最新版MT4必备指标-交易所开闭市时间 某MT4指标交流平台购买的最新版MT4交易指标,实时显示全球各大交易所开市、闭市时间,自动切换夏令时哦。

    time_zone:时区可在不同时区的时间之间提供夏令时转换

    时区提供了不同时区之间的夏令时感知转换。 这也是Ruby宝石的端口。安装将此添加到应用程序的shard.yml : dependencies : time_zone : github : imdrasil/time_zone用法以下代码将获取America / New_York时区...

    使用夏令时在世界时区之间转换:这是一个非常简单但功能强大的功能,可以将 datenum 从一个时区转换为另一个时区。-matlab开发

    只需指定它来自哪个时区和目标时区,你应该得到预期的结果,考虑到夏令时。 如果我可以扩展它以支持更多情况,请随时告诉我(显然,例如 Julian Calendar ;-)。 您可以使用以下命令获取可用时区的名称

    在 Java 应用程序中定时执行任务.doc

    标准的Java库提供了`java.util.Timer`和`java.util.TimerTask`类,但它们在处理复杂定时任务时存在局限性,比如无法适应夏令时调整导致的时间变化。为了解决这些问题,开发者Tom White提出了一种简单而通用的定时...

Global site tag (gtag.js) - Google Analytics