0 0

如何对带时区的时间进行比较5

基本信息如下:

知道远程服务器的在西八区  offset -8:00,
该服务器上的某个文件的时间为 Mar 24 01:07


现在想和本地server的当前时间进行比较,

请问用javacode 如何实现?
2014年3月24日 20:57

3个答案 按时间排序 按投票排序

0 0

为了屏蔽时区的差异,或者都转换成统一时区,或者都使用时区无关的时间比较。个人习惯使用后者。国际化的时间存储也是存储时区无关的GMT时间。
例:

public static void compareDate()
	{
		Calendar calendarA = Calendar.getInstance(TimeZone.getTimeZone("GMT-8:00"));
		calendarA.set(Calendar.MONTH, Calendar.MARCH);
		calendarA.set(Calendar.DAY_OF_MONTH, 24);
		calendarA.set(Calendar.HOUR_OF_DAY,1);
		calendarA.set(Calendar.MINUTE, 7);
		System.out.println("GMT-8:00  Mar 24 01:07 is:" + calendarA.getTime());
		System.out.println("GMT-8:00  Mar 24 01:07 getTimeInMillis is:" + calendarA.getTimeInMillis());
		System.out.println("GMT-8:00  Mar 24 01:07 timeZone is:" + calendarA.getTimeZone().getDisplayName());
		
		Calendar calendarB = Calendar.getInstance(TimeZone.getDefault());
		calendarB.setTime(new Date());
		System.out.println("GMT+8:00  now is:" + calendarB.getTime());
		System.out.println("GMT+8:00  now getTimeInMillis is:" + calendarB.getTimeInMillis());
		System.out.println("GMT+8:00  now timeZone is:" + calendarB.getTimeZone().getDisplayName());
		
		long diffDateInMillisSeconds = calendarA.getTimeInMillis() - calendarB.getTimeInMillis();
		System.out.println("diffDateInMillisSeconds: " + diffDateInMillisSeconds);
	}

2014年3月25日 22:23
0 0

如果目标地是固定时间,没有夏令时

SimpleDateFormat format = new SimpleDateFormat(pattern)
format.setTimeZone(TimeZone.getTimeZone("GMT-8"))
Date theirTime = format.parse(dateString);

long diffInMilli = theirTime.getTime() - new Date().getTime()


如果目标地有夏令时,则在上面的TimeZone.getTimeZone上要使用具体地点(主要城市)的名称。系统能辨认的地点可以用TimeZone.getAvailableIDs()列出,但注意不同的操作系统可能有少许不同,你要在生产环境上跑一下TimeZone.getAvailableIDs()来确认一下支持的地点列表。

2014年3月25日 21:52
0 0

转换时间是加上时区掩码,就可将其他时区的时间转换成本地时间

        String date="2014-03-24 21:14:57 -0400";
	String pattern="yyyy-MM-dd HH:mm:ss Z";
	SimpleDateFormat format=new SimpleDateFormat(pattern);
	Date serverDate=format.parse(date);
	System.out.println(serverDate);//转换成本地时间
	Date now=new Date();
	System.out.println(now);
	System.out.println(now.before(serverDate));

2014年3月25日 09:20

相关推荐

    java转换时区时间过程详解

    Java时区时间转换过程详解 Java时区时间转换是指将一个时区的时间转换成另一个时区的时间,这个过程需要了解时区的概念和计算方法。在本文中,我们将详细介绍时区的概念、UTC时间、格林尼治时间、夏令时、区时转换...

    服务器端世界时间(UTC)转换客户端时区时间

    ### 服务器端世界时间(UTC)转换客户端时区时间 #### 概述 在现代互联网应用中,服务器通常需要处理来自全球各地用户的请求,并且在显示时间信息时必须考虑到用户所在的地理位置及其对应的时区差异。例如,对于一个...

    Linux修改时区和时间

    Linux 系统中时区和时间的修改 Linux 系统中,时区和时间的正确设置对于系统的运行和维护至关重要。...Linux 系统中时区和时间的修改对系统的运行和维护至关重要。正确设置时区和时间可以确保系统的稳定运行和正确性。

    JS世界时区时间代码.zip

    这个“JS世界时区时间代码.zip”压缩包包含了一组代码,用于显示全球主要城市的当前时区时间,如北京、孟买、纽约、东京、巴黎和悉尼。下面我们将深入探讨相关的知识点: 1. **JavaScript Date对象**: JavaScript...

    golang时间、时区、格式的使用方法

    开发中,我们对时间的使用是比较多的,其应用场景,按照使用概率,从大到小,通常是: 获取当前或数据库中存储的时间 比较两个时间点的先后 显示打印时间 时区转换 对应到go,也就是几个基本定义: 时间点与...

    linux调整系统时间和时区的方法

    在Linux系统中,正确地调整系统时间和时区是确保服务器和其他设备正常运行的关键步骤。本文将详细介绍如何在Linux中调整系统时间和时区,包括通过不同的方法和命令来实现这一目标。 ### 一、理解Linux系统时间和...

    matlab开发-在工作时区与日光节约时间之间进行转换

    本项目专注于“在工作时区与日光节约时间(DST)之间进行转换”,这对于全球化的数据分析和报告至关重要。`TimezoneConvert.m` 文件提供了一个功能强大的函数,能够帮助用户轻松地在不同的时区之间转换日期和时间,...

    获取时区,根据时区做 UTC时间到本地时间之间转换

    {* 用于读取时区注册表TZI(长度为44)的属性值,存储时区信息 *} PRegTZIInfo = ^TRegTZIInfo; TRegTZIInfo = record Bias: Longint; StandardBias: Longint; DaylightBias: Longint; StandardDate: ...

    禁止修改PC时间和时区

    禁止修改PC时间和时区,避免因系统时间被篡改带来的损失

    android自动修改时区(原创)

    在Android系统中,修改设备的时区...总的来说,创建这样一个自动修改时区的服务,需要对Android的Service机制、时间处理以及权限管理有深入理解。同时,合理设计和处理时区切换的逻辑,以确保服务的稳定性和用户体验。

    js 根据本地时区获取 当地时间

    在JavaScript中,获取当地时间并考虑到不同的国家和地区的时区差异是一项常见的需求。为了实现这个功能,我们需要理解JavaScript...在实际项目中,根据需求选择合适的方法,并确保对各种时区和夏令时情况有充分的考虑。

    Linux下时区与时间设置方法

    Linux系统中设置和管理时区与时间是一项基础而重要的任务,尤其是在多用户环境中,或者涉及到跨时区的网络服务。下面详细介绍Linux下时区与时间的设置方法,并解释一些关键概念和命令。 首先,了解Linux系统时间的...

    C#修改Windows时区

    在编程领域,C#是一种广泛使用的面向对象的编程语言,尤其在开发...此外,频繁地修改系统时区可能会对用户造成困扰,因此在实际开发中,除非必要,一般不建议直接修改系统设置,而是通过更友好的方式提示用户进行更改。

    转换北京时间GMT+8到任意时区的时间(含源码)

    转换北京时间GMT+8成任意时区的时间。工具支持美国夏令时(源码里没有这部分,很久时间前写的实在是没有找到)。

    js实时获取当地时区时间Time,以及获取时间戳

    js实时获取当地时区时间Time,以及获取时间戳。

    JS多个国家时区时间代码.zip

    `说明.htm`可能是对如何使用这些代码进行详细解释的文档,而`jiaoben6727.js`(或`jiaoben6727.html`,具体格式需要打开文件确认)很可能是实际的代码文件,包含了解析和处理时区时间的核心逻辑。 JS处理时区时间...

    修复系统时间的时区.reg

    对于《炉石传说》等游戏应用,它们可能会依赖于系统时区来验证游戏时间,或者进行特定功能的触发。如果游戏启动时黑屏,可能是因为游戏无法识别或读取到正确的时区信息。在这种情况下,除了修复系统时区外,还需要...

    轻松转换各时区的时间

    先选择需要转换的时区,然后选择将时间转化为Long值还是将Long值转化为时间。

    java的时区问题

    `Tools`标签可能指的是用于处理时区问题的各种工具或库,例如使用`zdump`命令行工具检查不同时区的时间转换,或者利用Java的`SimpleDateFormat`和`Calendar`类进行日期时间格式化和计算。开发者也可以使用`java.time...

    ibm经典动态时区桌面

    例如,如果你在工作上需要与纽约、伦敦和东京的团队进行频繁沟通,你可以将这些城市的时区添加到桌面,任何时候只需瞥一眼桌面,就能快速了解各地的时间,无需手动计算,大大提高了工作效率。 此外,IBM动态时区...

Global site tag (gtag.js) - Google Analytics