Online Course, 学生在学完在Online Course的相应课程之后, 就可以参加其讲课老师所出发出的考题.
由于这个系统可能只会部署在世界的某一个地方, 但可以被世界各个地方的人所访问; 例如: 服务器可能会部署在澳大利亚, 但是中国, 新加坡, 英国, 美国 & 加拿大等许多国家的老师和学生都要访问这个服务器, 学生有可能参加全球各地的老师的课程, 老师可以给全球各地参加他课程的学生分发试卷. 所以就会存在一个问题:
当前服务器是部署在澳大利亚的, 系统所获得的时间肯定是澳大利亚当前的时间, 但现在新加坡/英国的老师都需要去访问这个系统去创建考试题目生成试卷并发给他们的学生; 在分发试卷给学生的时候, 老师需要选择一个开始时间和结束时间, 由于是Web Application, 所以系统提供了一个JavaScript做的日历控件, 所以新加破的老师所选择的时间是新加坡的时间, 而英国的老师所选择的时间是英国当前的时间, 澳大利亚的时间是GMT+10, 新加坡是GMT+8, 英国是的时间是标准时间GMT; 所以系统在计算还有多长时间学生才可以开始测试, 又有多长时间可以参加测试, 并且在参加测试的过程中剩余还有多长时间, 如果是不同时区的学生参加同一个考试, 他们所显示的考试时间间隔还必须是相同的; 这些问题, 在之前都没有考虑到时区的问题, 所以就会存在一些很严重的问题, 例如: 新加坡的老师想要在上午7:00创建一份试卷, 但现在澳大利亚时间是9:00钟了, 所以系统会提示"开始时间必须晚于当前时间"之类的信息, 同样, 澳大利亚的老师在上午11:00所创建一份下午1:00开始试卷, 英国的学生还以为有10多个小时呢, 其实考试离他们只有2个小时, 这些种种问题都是由于时区所以引起的.
由于我们需要显示当前用户所选择的时区的信息, 并且用户可以自由的选择时区, 比如他正在英国通过网络给在澳大利亚的选择创建一个考试卷; 诸如此类, 所以我们要提供一个时区的选择器让用户去选择, 并且保存在数据库中, 并记录用户所选泽的时区与当前服务器时区的时间差, 这样, 每次在进行时间操作的时候先用DB Function 做一下时间同步, 问题就可以得到解决了.
由于我们的所用的平台是Java, 但我们想显示Time Zone 列表信息和Windows Time Zone 一致, 而且当用户第一次进入系统时要默认是他当前的时区; Java 的时区信息与Window的时区信息有点不一样. 于是我们建立一个Windows Time Zone 与 Java Time Zone 的 Mapping, 为这个Mapping 定义一个ID 存放到DB中, 由于会有很多城市/国家会在同一个时区之内, 我们就顶一个默认的国家作为显示如果User是这个时区之内的国家, 这样做不是很好但是已经解决了我们的基本需求; 我们没有办法在服务器端获得用户的时区信息, 只能通过JavaScript获取客户端的时间差信息保存到Cookie中并且在服务器端获得, 来自动选择一个默认的相对应的时区信息给Client, 到此我们的用户的需求就解决了.
相关推荐
php报时区错误,按照网上说的改时间date.timezone... You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still
IANA Time Zone Database,通常被称为tzdata,是全球时间区数据的一个重要资源,它包含了世界各地的时区信息,包括夏令时规则、历史时区变更等。这个数据库被广泛用于操作系统、编程语言、网络服务和其他需要处理...
【标题】"timezone_2021a_posix_sql"是一个与MySQL数据库系统相关的插件,主要用于处理时间区域设置。这个插件旨在解决在集成Django框架与Celery任务队列时可能出现的时间区域相关的问题。在分布式系统中,正确处理...
Oracle的Timestamp with Time Zone类型与Java的交互是数据库编程中一个重要的知识点,特别是在处理跨越时区的数据时。本文将深入探讨这两个概念以及它们在实际应用中的互动。 Oracle的Timestamp with Time Zone类型...
如何修改时区(TIMEZONE)如何修改时区(TIMEZONE)如何修改时区(TIMEZONE)如何修改时区(TIMEZONE)
### Java.util.TimeZone的世界时区列表解析 #### 一、概述 `java.util.TimeZone` 是Java标准库中的一个类,用于表示不同时区的信息。本文档提供了通过`java.util.TimeZone`类导出的世界范围内时区列表。该列表不仅...
TimeZone例子TimeZone例子TimeZone例子TimeZone例子
"前端项目-moment-timezone.zip" 是一个专门针对时区处理的前端项目,它基于著名的JavaScript库Moment.js,并扩展了对时区支持的功能。这个项目旨在帮助开发者更准确、方便地分析和展示全球各地的时刻。 首先,我们...
"世界时间对照TimeZone"这个主题涉及到的是如何处理和显示不同地理位置的时间。这通常与编程语言中的“时区”概念紧密相关,时区是根据地球上的经度划分的区域,每个区域都有自己的本地时间。在计算机系统中,我们...
**timezone-js** 将这些数据转换成JavaScript友好的格式,使得开发者可以在Web应用中利用这些信息。 在**timezone-js** 中,主要功能包括: 1. **时区转换**:库允许你将一个日期从一个时区转换到另一个时区,无需...
在Python的Web开发框架Django中,`TIME_ZONE`是一个非常关键的配置设置,它用于定义你的应用程序将使用的时区。这个设置对于处理日期和时间的显示、存储以及与用户的交互至关重要,尤其在多时区的全球应用中。在本文...
今天说一下时钟和日历里的Home time zone显示不一致的问题,大家一起学习下。
最新Google日历的时区选择列表Time zone,2021年9月2日
`TimeZone_demo_时区例子`是一个ASP.NET项目,旨在演示如何在应用程序中实现时区选择功能,帮助用户根据自己的地理位置选择相应的时区,并获取该时区的相关信息。这个项目主要涉及到以下几个知识点: 1. **时区概念...
api-ms-win-core-timezone-l1-1-0.dll
标题中的问题“Cause: java.sql.SQLException: The server time zone value”是Java开发者在使用IDEA(IntelliJ IDEA)进行数据库连接时常见的错误提示。这个错误通常发生在尝试连接到MySQL等SQL数据库时,由于...
Arduino-Timezone.zip,Arduino图书馆,方便时区转换和自动夏令时(夏季)调整。Arduino时区图书馆,Arduino是一家开源软硬件公司和制造商社区。Arduino始于21世纪初,深受电子制造商的欢迎,Arduino通过开源系统提供...
IDEA连接mysql报时区serverTimezone错误 解决方案
PostgreSQL的学习心得和知识总结(四十五)|关于PostgreSQL数据库开源作业调度扩展 pg_cron 默认GMT时区修改 的实现方案
在Laravel框架中,`timezone`是一个非常关键的设置,它影响着整个应用程序中的日期和时间处理。`timezone`配置允许开发者指定应用默认时区,确保时间显示与用户所在的地理位置相匹配,提供更好的用户体验。本篇文章...