问题标签 [datetimeoffset]
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.
.net - 在与服务器不同的时区创建一个 DateTimeOffset 设置为午夜
我有一个服务器设置为 EST,我想知道我需要做些什么来创建一个设置为当天午夜但在不同时区的 DateTimeOffset?例如太平洋标准时间?
java - 我可以仅使用 `java.*` API 推导出给定 `Date` 自 1900 年 1 月 1 日以来的天数吗?
电子表格(MS Excel、Google Apps)将日期表示为自 1900 年 1 月 1 日以来的整天数(在 Excel 的情况下可能需要注意 2 月 29 日的奇怪情况)。好的,所以除了闰年之外是 365 天。但这已经是太多的算术了。
大概,java.util.[Gregorian]Calendar
知道所有这些东西。问题是,我不知道如何访问它的知识。
在投机世界中,人们可能会:
可悲的是,Calendar.get(Calendar.DAYS_IN_YEAR)
不满足“mysteryMethod”——它需要一个Calendar.DAYS_EVER
字段来做我想做的事。
是否有用于获得以日历日表示的准确差异的 API ?
笔记
我真的想要日历天,而不是 86400 秒的天数。除了时区和夏令时问题(感谢@Dipmedeep),还需要考虑闰年。在这些术语中,31536000 秒是 365 天。4 年中有 3 年,这让我从 1 月 1 日到 1 月 1 日。但是在第 4 年,它只让我从 1 月 1 日到 12 月 31 日,每 4 年给我一个 1 天的错误!
我已经有了获取日历天数的解决方案。迁移到 Java 是一段微不足道的代码,它得到了想要的答案(尽管我不理解它,因此不信任它)。这个问题专门询问(现在在编辑后更是如此)我是否可以完全避免进行这些计算并将其推迟到 JDK 中的“受信任”库。到目前为止,我的结论是“不”。
sql - 存储 DateTime (UTC) 与存储 DateTimeOffset
我通常有一个“拦截器”,在从/向数据库读取/写入数据之前进行 DateTime 转换(从 UTC 到本地时间,以及从本地时间到 UTC),所以我可以DateTime.Now
在整个系统中使用(推导和比较)而不用担心关于时区。
关于计算机之间的序列化和移动数据,无需费心,因为日期时间始终是 UTC。
我应该继续以 UTC 格式存储我的日期(SQL 2008 - datetime)还是应该使用DateTimeOffset
(SQL 2008 - datetimeoffset)来存储它?
数据库中的 UTC 日期(datetime 类型)已经工作并且知道这么久了,为什么要更改它?有什么优势?
我已经看过这样的文章,但我并不是 100% 相信。有什么想法吗?
java - datetimeoffset 休眠映射
我正在尝试将休眠与 ms sql server 一起使用,并且难以将 sql 类型 datetimeoffset 映射到 java。如果我尝试在逆向工程配置中设置映射类型:
我收到一条错误消息。像 org.hibernate.MappingException: jdbc-type: microsoft.sql.Types.DATETIMEOFFSET 不是已知的 JDBC 类型也不是有效数字
我想在这种情况下只能使用 detault jdbc 类型。
关于如何解决这个问题的任何想法?
winforms - 来自程序集“mscorlib”的“System.DateTimeOffset”,版本=2.0.0.0
我的 Windows 窗体应用程序(使用 C# 在 Visual Studio 2008 中创建)分布在我们公司内,可在 50 多台 PC 上运行,没有任何问题。
昨天,我不得不在一台运行 WinXP 的旧 PC 上安装它。我的 Visual Studio 2008 安装项目提示安装 .Net Framework 3.5 SP1。我们安装了它,重新启动,然后继续安装。
安装后,我关闭了旧机器,等待了大约 5 秒钟,然后重新打开。
当我尝试运行应用程序时,我得到了未处理的异常:“无法从程序集 'mscorlib 加载类型 'System.DateTimeOffset',版本 = 2.0.0.0,文化 = 中性,PublicKeyToken = b77a5 ... 等等,等等,等等.
为什么 3.5 SP1 没有安装该
DateTimeOffset
功能?为什么应用程序试图从中加载它
mscorlib version 2.0
?我搜索了关键字
DateTimeOffset
,但它在我的项目中的任何地方都不存在。这是DateTime
(即DateTime.Now.AddDays(1)
)的一部分吗?
这是完整异常的副本:
sql - 如何将 Sql Server 2008 DateTimeOffset 转换为 DateTime
我希望将具有DATETIMEOFFSET
字段的表转换为DATETIME
字段但通过注意偏移量来重新计算时间。这实际上将值转换为UTC
.
例如。
这将被转换为
或者
干杯:)
php - php DateTimeZone->getOffset() 返回 GMT 时区的无效偏移量
希望有人注意到我遇到的问题的原因是什么。
对于所有其他时区,例如“欧洲/赫尔辛基”,下面的偏移计算返回正确的值,但由于某种原因,我得到了“Etc/GMT+2”风格时区的负值,反之亦然(例如,对于 Etc/GMT-2,我得到正值,7200)。
预期:7200 结果:-7200
sql-server - Crystal Reports 和 SQL Server 2008 日期时间偏移
SQL Server 2008 引入了新的数据类型 datetimeoffset,它存储本地时间和本地时间与 UTC 之间的偏移量。但是,当将包含 datetimeoffset 列的表添加到 Crystal Reports 2008 时,datetimeoffset 列在 CR 字段资源管理器中显示为字符串,而不是 DateTime。除了字符串转换之外,有没有办法操纵 datetimeoffset 来获取 CR 2008 中的日期、时间和偏移值?CR 2010 中是否有 DateTimeOffset 数据类型?
CR 2008 中显示的 datetimeoffset 字符串示例:
2009-08-14 16:37:32.0000000 +07:00
c# - C# 将 datetimeoffset 转换为以毫秒为单位的字符串
datetimeoffset 中的默认 toString() 方法将时间转换为字符串格式,但会丢失毫秒。有没有办法保存呢?
c# - 将 DateTime 偏移量应用于美国东部时区
我有一个生成 vCal 和 iCal 文件以将事件导入 Outlook 和 iCal 的页面。这些邮件客户端(Outlook 和 iCal)将采用 UTC 日期,因为它们知道用户的偏移量并会处理正确的时间。我们正在为其编写此代码的客户位于美国东部时区之外,我也是。他们的主机位于中部时区(比东部时区晚 1 小时)。我想让代码在没有任何硬编码偏移的情况下处理这个问题。我的代码目前从我们的 CMS 获取 DateTime 并转换为 Outlook/iCal 的 UTC。这意味着来自 CMS 的 DateTime 值是相对于托管位置的:
当我在本地运行它时,一切都很好,因为 CMS 中的 DateTime 基于我们客户的东部时区,我也是,所以过程是东部 -> UTC -> 进入 Outlook,然后进入 UTC -> 东部,一切都很好。当我部署到 Central 的服务器时,CMS 的 DateTime 比东部时间差一个小时。在转换为 UTC 之前,如何自动获取东部的偏移量并将其添加?我显然需要它来处理标准时间(EST)和日光时间(EDT)。我想在没有硬编码值的情况下以编程方式进行操作,因此无论您在哪个时区,它始终可以正常工作。即,如果我将此代码交付给在印度进行开发的某人,它应该自动处理他们本地服务器的偏移量和相应地调整。
我需要做这样的事情,在转换为 UTC 之前对东部时间应用偏移量:
抱歉,如果这是以前讨论过的主题,我只是不确定找到此类问题的最佳术语。提前致谢。