Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在基于Ruby的REST中表示本地时间戳

在基于Ruby的REST中表示本地时间戳
EN

Stack Overflow用户
提问于 2012-11-04 12:31:44
回答 1查看 170关注 0票数 1

也许这个问题应该分成两篇文章,但我目前有一个API,用于几个业务客户。我目前使用ISO 8601时间戳和UTC时区来表示时间。但是,我不喜欢将这些时间戳附加到任何时区的想法,因为无论您在哪个时区,时间都应该是相同的。世界协调时间下午5点应该是下午5点。

我知道您可以将Z从ISO时间戳中删除,并且它将被解释为您所处的任何本地时间。这可以练习吗?如果是这样的话,我如何在Ruby中做到这一点?我读了时间课的医生,没有看到任何关于这个的东西。

编辑:,让我重述一下这个词,或者至少澄清一下。我之所以要寻找没有附加到时区的时间戳,正是因为我知道我的客户端服务器和API服务器很难匹配。如果客户端提交带有时间的事件,则该时间需要与特定于用户正在处理的事件的模糊区域设置不明确地相等。

这是一个mouthful...assume,我正在处理一个事件调度程序。每个事件都属于一家公司的店面或地点。当显示某个位置的时间时,假定所显示的时间位于该位置的时区,而且为了清楚起见,不应在格式化为用户的本地时区的时间中显示时间。如果我查看东海岸的调度程序,但是查看西海岸位置的事件,我应该看到的时间应该是西海岸地区的本地时间,而不是调整我的时区。

我知道一个解决方案可以是简单地存储时间与时区信息的位置相关联。但是,用户希望将时间转换到他们的时区的用例非常罕见,我宁愿让实现我的API easier...this实际上是我最初的实现,但是在许多不同的环境和多个编程语言中实现API,很明显,对于很多语言来说,显示时间戳时区的本地时间是一个障碍。如果用户希望将时间转换为他们的本地时区,我可以轻松地为location对象本身存储全局时区信息。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-11-04 14:50:08

我不知道你所说的“时间应该是一样的,不管你在哪个时区。世界协调时下午5点应该是科技委,等等”。世界协调时间下午5点显然不是5点CST!

不管怎么说,我不认为你提出的是一个好的做法。假设您关闭了Z,并将时间戳解释为您所在的任何本地时间。因为这是一个网络API,所以客户机和服务器可能不在同一个时区。当客户提交“本地”时间时,这意味着什么?客户机上的本地时间(如果是,服务器如何知道这是什么?)服务器上的本地时间?不太清楚。这就是为什么要做的唯一合理的事情就是始终使用UTC的原因所在。

如果时间戳可能相关,则可以将时区附加到时间戳上。例如,“你应该在2012-11-10T22:00:00Z默哀一分钟,以纪念在WW1阵亡的士兵”听起来很奇怪,因为纪念日不在11月10日!“你应该在2012-11:11:00+13:00默哀一分钟”如果你把新西兰时区放在那里听起来好多了.在这种情况下,您可以保存和时间戳(在本地或UTC)以及时区偏移量(例如,将两者存储在数据库中)。

然而,它确实取决于你的时代所代表的。例如,在“在赤道,日落发生在18:00”中,使用不限定于时区的抽象时间是有意义的(在每个时区都是如此,而且/或您在谈论太阳时间)。但是在这个抽象的时间上附加一个日期没有什么意义,所以我认为在这种情况下您不会谈论ISO8601。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13222584

复制
相关文章
Ruby中如何识别13位的时间戳
由于13位的时间戳在Ruby中是比较另类的,以为Ruby中默认的时间戳都是10位的。而Time和Date是Ruby中常用的处理时间的模块。 由于最初遇到问题的时候网上搜了好久都没找到合适的,因此就自己写一下,帮助下再次遇到这个问题的小伙伴们吧! 使用Time解决 使用Time的方式比较投机取巧吧。 require 'time' p Time.at(1456466229973 / 1000, (1456466229973 % 1000) * 1000) 输出 2016-02-26 13:57:09 +080
用户1154259
2018/01/17
1.9K0
在ASP中实现UNIX时间戳
  在康盛创想发布UC以后,我曾经尝试为其编写ASP把版本的客户端类库,过程中发现了几个问题,首当其冲的当然是服务器端不支持非php平台的接口,这个问题直接导致了我选择另起炉灶开发自己的通用用户中心。   但是在研究UC的过程中却也有一些细小的收获。这篇文章说说PHP中的时间戳。在PHP中,时间函数time()获得的不是我们在ASP中的事件函数Now()所返回的“2008-06-04 21:19:41”这样的形式,而是“1123495443”这样的形式。这个记录的是所表示的时间与1970年1月1日午夜零点之
小李刀刀
2018/03/02
3.3K0
php中的时间戳与javascript中的时间戳的比较
php中的时间戳与javascript中的时间戳的比较,本质上看,它们是一样的东西,但如果二者要进行相等比较的时候,还是有点不同的,稍不注意,就会误入歧途,所以,这里列出容易忽略的两点不同,供大家参考:
风柏杨4711
2021/03/15
3.5K0
在python中构造时间戳参数的方法
开始日期为:2021-11-16 16:50:58.543452,对应的时间戳:1637052658543
程序员皮克
2022/01/08
2.9K0
遇到的各种时间类型:UTC时间、GMT时间、本地时间、Unix时间戳
GMT,即格林尼治标准时间,也就是世界时。GMT的正午是指当太阳横穿格林尼治子午线(本初子午线)时的时间。但由于地球自转不均匀不规则,导致GMT不精确,现在已经不再作为世界标准时间使用。
陈大剩博客
2023/02/17
3.5K0
遇到的各种时间类型:UTC时间、GMT时间、本地时间、Unix时间戳
基于时间戳的日志回放引擎
之前写过一个日志回放引擎的第一代千万级日志回放引擎设计稿,当时理解的日志回放就是把日志记录的请求重新发出去,这就是回放线上用户的流量了。可是在我最近看goreplay的过程中,重新刷新了我的认知。
FunTester
2022/12/09
3190
ffmpeg中的时间戳与时间基
在开发多媒体播放器或直播系统时,音视频的同步是非常关键且复杂的点。要想把音视频同步搞明白,我们必须要了解一些基本的知识。只有了解了这些基本知识,才能为你打下理解音视频同步的基础。 本文将从下面几个主题介绍这些知识点:
音视频_李超
2020/04/02
3.1K0
ffmpeg中的时间戳与时间基
python中时间、日期、时间戳的转换
1.简介 在编写代码时,往往涉及时间、日期、时间戳的相互转换。 2.示例 # 引入模块 import time, datetime 2.1 str类型的日期转换为时间戳 1 # 字符类型的时间 2 tss1 = '2013-10-10 23:40:00' 3 # 转为时间数组 4 timeArray = time.strptime(tss1, "%Y-%m-%d %H:%M:%S") 5 print timeArray 6 # timeArray可以调用tm_year等 7 prin
kirin
2020/05/16
3.9K0
Java中时间戳的使用
当前时间 import java.sql.Timestamp; //导包 Timestamp nowTime = new Timestamp(System.currentTimeMillis()); System.out.println(nowTime); 输出: 2022-06-08 11:15:51.014 Long型时间戳 Long timeLong = System.currentTimeMillis(); System.out.println("timeString:" + timeLon
代码的路
2022/11/29
1.9K0
Java中获取时间戳
** 最近项目开发过程中发现了项目中获取时间戳的业务。而获取时间戳有以下三种方式,首先先声明推荐使用System类来获取时间戳,下面一起看一看三种方式。
全栈程序员站长
2022/08/18
2.6K0
时间,时间戳
将如上的时间2016-05-05 20:28:54转换成时间戳,具体的操作过程为:
zhengzongwei
2019/07/31
5.3K0
时间戳 时间
背景 由于团队业务做的是国际项目,就无法避免一个问题--时区问题,很多业务都是跟时间有关。一些时间的对比,时间的展示,都会涉及到时区和时间戳,所以花点时间来简单总结一下 概念 时间戳 时间戳是一个自增的整数,它表示从1970年1月1日零时整的GMT时区开始的那一刻,到现在的毫秒数。假设浏览器所在电脑的时间是准确的,那么世界上无论哪个时区的电脑,它们此刻产生的时间戳数字都是一样的,所以,时间戳可以精确地表示一个时刻,并且与时区无关。 时区 时区(Time Zone)是地球上的区域使用同一个时间定义。188
千往
2018/01/24
6K0
Python获取当前时间戳_时间转换时间戳
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
9.8K0
sql中时间戳转日期
需求: 我将博客和 typecho 后台结合起来,打算做一个在线说说的功能,在 typecho 中输入内容,然后调用接口,实现在我的博客查看说说功能的功能。是不是有点绕?我也这么觉得,但是折腾一下也挺好的。
子舒
2022/06/09
4.4K0
sql中时间戳转日期
java当前时间的时间戳_java获取当前时间(时间戳)的方法
Calendar.getInstance().getTimeInMillis();
全栈程序员站长
2022/06/28
9.2K0
java当前时间的时间戳_java获取时间戳和当前时间
Calendar.getInstance().getTimeInMillis();
全栈程序员站长
2022/08/18
8.8K0
Unix 时间戳;时间戳获取和生成
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
西湖醋鱼
2020/12/30
9.4K0
Linux时间戳转换_时间戳转换软件
在大多数 UNIX 系统中,当前时间存储为自特定时刻以来经过的时间以简化,将时间保持为长整数。所有 UNIX 系统普遍接受的时刻是 1970 年 1 月 1 日凌晨 12:00:00。 这称为 UNIX 时间戳,并被所有现代 UNIX/Linux 系统识别。
全栈程序员站长
2022/11/09
15.9K0
Linux时间戳转换_时间戳转换软件
Python获取时间戳_python爬虫时间戳
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189145.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
6K0
点击加载更多

相似问题

表示时间戳

10

时间戳%以%时间戳表示意外结果

03

在Ruby中生成时间戳

23

时间戳,以html表示

10

在HBase中基于时间戳的扫描?

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档