问题标签 [localtime]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - C:如何在特定时区(按偏移量)打印特定的“时间”值?
我正在用 C 编写一个应用程序,它解析由外部程序记录的数据文件(我无法控制)。它存储二进制数据,其中一个字段是标准 UNIX“纪元”格式的时间(自 1970 年 1 月 1 日以来的秒数,UTC)。
另一个字段是时区,存储为与 UTC 的秒数偏移量。
很酷,我已经拥有了创建一个日期/时间字符串所需的一切,该字符串表示它记录在的时区中的该信息,对吧?嗯......似乎不是这样,和/或我不知道该怎么做。
我把事情归结为一个相当简单的测试用例:
当我在 MacOS X 10.6 上运行它时,我得到:
我所期望的(实际上是在 Linux 机器上得到的)将是:
我是否需要更改TZ
环境变量(可能还有 call tzset
)?似乎应该有一种方法来操纵数据结构并获得正确的东西,但上面肯定行不通(无论如何,在 MacOS X 10.6 上——在 Linux 上工作得很好)。
作为一种解决方法,我想我可以从格式字符串中删除 %z 并自己创建该部分。
不过,理想情况下,我希望修改 mystruct tm
或其他一些我可以使用的函数调用(如 strftime,但带有额外的参数或其他东西,或者可能是 localtime 的替代形式),这将让事情做正确的事。
由于 Linux 似乎表现良好(即使在那里,上述解决方案也不是很理想,因为我在捏造我的time_t
价值;我更喜欢有一个参数来改变struct tm
计算的方式),这是我应该报告的吗作为针对 MacOS 的错误?
或者,我可以调用一组不同的库例程,即使最终需要第三方(我想是来自 GNU 的人)库?尽管我会考虑使用 ObjC 或 C++ 选项,但我更愿意继续使用 C。
c - 在 C 中获取当前时间
我想获取系统的当前时间。为此,我在 C 中使用以下代码:
问题是这段代码给出了一些随机时间。而且,随机时间每次都不一样。我想要我的系统的当前时间。
java - Joda Time LocalTime of 24:00 end-of-day
我们正在创建一个日程安排应用程序,我们需要表示某人在白天的可用日程安排,无论他们在哪个时区。从 Joda Time 的间隔中得到提示,它表示两个实例之间的绝对时间间隔(包括开始,结束独占),我们创建了一个LocalInterval。LocalInterval 由两个 LocalTime 组成(开始包含,结束排除),我们甚至制作了一个方便的类来在 Hibernate 中持久化它。
例如,如果某人从下午 1:00 到下午 5:00 有空,我们将创建:
到目前为止一切顺利——直到有人想在某天晚上 11:00 到午夜有空。由于间隔的结束是排他的,这应该很容易表示为:
确认!不去。这会引发异常,因为 LocalTime 不能容纳任何大于 23 的小时。
这对我来说似乎是一个设计缺陷——Joda 没有考虑到有人可能想要一个代表非包容性端点的 LocalTime。
这真的很令人沮丧,因为它在我们创建的一个非常优雅的模型上打了一个洞。
我有什么选择——除了分叉 Joda 并取出 24 小时的支票?(不,我不喜欢使用虚拟值——比如 23:59:59——来表示 24:00。)
更新:对于那些一直说没有 24:00 这样的事情的人,这里引用 ISO 8601-2004 4.2.3 注释 2,3:“一个日历日的结束 [24:00] 恰逢 [00] :00] 在下一个日历日的开始......”和“[hh] 具有值 [24] 的表示只首选表示时间间隔的结束......”
c++ - 使用 gettimeofday 和 localtime 的准确时间戳
我正在尝试通过 gettimeoday 和 localtime 监视跨多个应用程序和数据路径的系统时间。在这个例子中,我想在我的代码运行之前获取系统时间(微秒精度)。我目前正在这样做:
据我了解,本地时间调用肯定会产生一些开销,并且会降低准确性。我可能完全错了,但我应该等到我的代码完成后才调用本地时间吗?我假设 localtime 只是对 gettimeofday 的结果进行半昂贵的转换,因此它应该放在 printf 语句之前。
python - Python中的时间不一致
我在跨平台程序中遇到了一些问题:当我在 Linux 和 Windows 中打开 python shell 时,我从 Epoch 获得的时间不同。
在 Linux 中,我试图做dpkg-reconfigure tzdata
.
目前,在linux中我得到了 avec dpkg-reconfigure tzdata:
然后,在 python 控制台中,我创建了这个脚本:
在返回的 linux 上:
在返回的 Windows 上:
然后我尝试了这个脚本:
Linux 中返回的第一行是:
Windows 中返回的第一行是:
所以在 Windows 中,我们从 1970 年获得日期,而在 Linux 中,它从 1972 年开始!
然后,如果我在我的 bash 控制台中写下它:
我明白了:
如您所见,我们看不到 1970 年的任何东西!
如何将 Debian 的时区更改为我自己的时区!?
旧消息: 我在跨平台程序中面临一些问题:当我在 Linux 和 Windows 中打开 python shell 时,我从 Epoch 获得的时间不同。
在 linux 中(debian 挤压):
在 Windows(7 64 位专业版)中:
如您所见,有一个小时的差异。为什么?
感谢您的回答,这就是我当时所做的:在 Windows 中:
在 Linux 中:
如果我不知道为什么会出现问题,我不想使用 gmtime。我尝试更改 Linux 中的时间以使其与 Windows 中的时间相同(我开始在 Windows 中开发我的软件并且它运行良好,这就是为什么我想在 Linux 中更改系统时间而不是在 Windows 中)。在 Linux 中,我试图做dpkg-reconfigure tzdata
. 但无论我选择的时间仍然是错误的。
目前,在linux中我得到了 avec dpkg-reconfigure tzdata:
我不明白在 Windows 中使用了哪个时间。我正在使用“UTC”。
我创建了这个脚本:
在返回的 linux 上:
在返回的 Windows 上:
正如你所看到的,自纪元以来仍然存在时间问题(纪元是凌晨 1 点......)
我创建了另一个主题,因为它似乎不再是由于 python: Timezone issues
perl - Perl:如何将 unix 时间戳+时区转换为本地时间
基本问题在标题中:我有一个 unix 时间戳和一个时区,例如“美国/加拉加斯”,我想将其转换为时区的本地时间。
通过stackoverflow搜索,我发现其他人问了几乎相同的问题,但是,提供的答案代码
不起作用(不再?)。DateTime() 不允许我设置时间戳;我确实查看了 DateTime 源,但也没有看到我可以在哪里连接我自己的时间戳。有什么想法/帮助吗?
提前谢谢了!
java - Java(处理环境)不会为我提供当地时间
我正在尝试根据当地时区调整 epoc 时间(即 GMT-7,但它显示 GMT)。我很确定这应该有效,但它不是......
但它仍然输出基于 GMT 的 epoc 时间,而不是 GMT-7(我的时区)。在玩了一段时间后,我确实让这个工作......
但是为什么第一个块不起作用?
actionscript-3 - 从 ActionScript 3 中的 UTC 日期时间获取本地时间
AS3 是否有办法将日期时间变量转换为本地时间?
python - 获取本地时区的 Olson TZ 名称?
如何获取与C调用给出的值相对应的Olson 时区名称(例如)?Australia/Sydney
localtime
这是TZ
通过符号链接或在与时间相关的系统配置文件中/etc/localtime
设置变量覆盖的值。TIMEZONE
actionscript-3 - UTC 时间到 AS3 中的 GMT+2
我有问题。使用Date()
AS3 本身提供的功能,我将 UTC 时间转换为本地机器时间。
我遇到的问题是这个,看看month
and hour
。
这可能是因为夏令时,但我认为日期操作的本机函数考虑到了这一点。
我是对的,这就是问题所在?我应该自己考虑夏令时吗?还是有什么不同?