问题标签 [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.

0 投票
3 回答
2334 浏览

oracle - "TIMESTAMP WITH TIME ZONE" <--> DateTImeOffset 映射不会在 INSERT 命令上提供区域部分(实体框架 + Oracle)

我使用 EF(EDMX 模型 - 首先是 DB)将“TIMESTAMP WITH TIME ZONE”映射到 DateTimeOffset。当我将 DateTimeOffset 提交给 Oracle 时,Zone 部分保存不正确。

因此,如果使用模型,例如,插入 value 29/02/2012 10:10:10 +04:00,则实际存储在 Oracle 中的 value 是29/02/2012 10:10:10 +02:00(假设 +02:00 是本地区域)请注意,在查询数据时映射工作得很好。只有 INSERT(通过 ObjectContext.SaveChanges())被破坏了......

我已经调试到“Oracle.DataAccess.dll”(使用 ILSpy :))并发现 EF 的映射代码省略了该区域(“Oracle 数据提供程序”仅通过 DateTimeOffset.DateTime)。

有谁知道解决方法?

提前感谢伊莱

顺便说一句:我正在使用 .net4、EF4、Oracle 11g、ODAC 11.2 Release 4 (11.2.0.3.0)

0 投票
2 回答
2422 浏览

sql - SSIS getdate进入DateTimeOffset列 - 数据值溢出类型

我有一个 SSIS 包。源是一个 SQL 查询。目的地是一张桌子。该包一直有效,直到我将目标表中的列从 datetime 更改为 datetimeoffset(0)。

现在,所有记录都失败,并在此特定列上出现“转换失败,因为数据值溢出了提供者使用的类型”错误。

源查询中的值是 getdate()。我试过 TODATETIMEOFFSET(getdate(),'-05:00') 没有成功。

事实上,到目前为止唯一有效的是将以下内容硬编码到源查询中:

唯一另一个有趣的信息是,当对另一台服务器运行源查询时,该程序包运行良好,这意味着可能涉及到一个设置——但我发现两台服务器之间没有明显差异。

0 投票
1 回答
2544 浏览

c# - C# 方法 TimeZoneInfo.ConvertTime 是否处理 DST?

我有以下用户可以选择的时区列表,亚利桑那州的山地标准时间有两次。这些不是他们在选择时看到的。我提取了一个包含所有 Microsoft 时区的网站列表。我想如果它列出了常规州和亚利桑那州的山地标准时间,我会感到困惑。

夏威夷标准时间

阿拉斯加标准时间

太平洋标准时间

山区标准时间

山区标准时间

中部标准时间

中美洲标准时间

东部标准时间

美国东部标准时间

我的问题是我猜这些不考虑 DST,所以我假设我需要在我的转换中添加一些东西来检查它们是否在 DST 中并相应地调整它。这是我现在进行转换的方式。

0 投票
1 回答
1918 浏览

javascript - 如何将 PST Unix 时间戳转换为 UTC?

如何将 PST Unix 时间戳转换为 UTC,然后转换为任何自定义时区(GMT+2,...)?请在 javascript 或 nodejs lib ( momentjs )中提供解决方案

0 投票
2 回答
564 浏览

.net - .net 中的日期时间和偏移量

如何安排后台作业在哥伦比亚时间每天晚上 9 点开始?我正在使用quartz.net

StartAt 方法采用 DateTimeOffset 对象。

请帮忙

0 投票
1 回答
1298 浏览

php - 致命错误:未定义的类常量“PER_COUNTRY”

我正在尝试使用以下代码查找某个国家/地区的时区。

代码在我的本地服务器 (WAMP) 上工作得非常好,但在 Live Server 上却不行。

这有什么问题?找不到有关此问题的太多解决方案。

让我知道我能做些什么来解决这个问题。

提前致谢。

0 投票
1 回答
1948 浏览

c# - 为什么从一个时区转换到另一个时区如此困难?

我已经阅读了这里的多个帖子,直到我的头准备好爆炸,地图集上到处都是小线条。

这是我想做的事情:

  1. 我有一个充满约会的日历来显示一个企业。
  2. 公司位于纽约 (EDT)
  3. 我的开发机器在 PST
  4. 生产服务器位于加利福尼亚 (PST)
  5. 日历数据以 UTC 格式存储在数据库中

我想要做的就是在 EDT 中指定一个时间范围(比如 5 月 15 日上午 9 点到下午 5 点)并在日历上显示所有约会。

所以,我的日历控件告诉我“我想要从 5/15/12 上午 9 点 EDT - 5/15/12 下午 5 EDT”我说好的,我将调用一个 db proc 并以 UTC 传递日期值,即(5 /15/12 13:00 UTC - 5/15/12 21:00 UTC)。然后,当我拿到它们时,我会将它们转换回 EDT,然后再交给你。

但是,我几乎不知道 .NET 会发现这个简单的任务让我绊倒。

通过使用,我得到了 TimeZoneInfo:

但这只是事情的结果。

这是我接下来尝试的:

(WTF 是 Kind 吗?)我告诉过你我想转换的时间,我告诉过你它是 EDT,我告诉过你我想将它转换为 UTC。你还想要什么?我可以用手做。他妈的已经这样做了。

所以我尝试设置 Kind,但它只有两个值!本地或UTC。但我的时间既不是本地时间,也不是 Utc。那你到底为什么要我提供时区信息?您不能通过询问系统时钟来判断当地时区吗?可以预见的是,两者都没有奏效。(是的,根据文档有未指定,但再次根据文档,它并没有真正做任何事情,是的,我也尝试过)。

然后,我尝试了:

同样蹩脚的借口!

是时候阅读更多 St. Jon Skeet 的文章了。

你知道吗,有一个新的类 DateTimeOffset。它会解决你所有的问题。上帝保佑所有美好而仁慈的 .NET 4.0 赏金......

啊啊啊!你到底是怎么断定 rangeStart 是 Utc 的?我有告诉过你吗?

一堆人引用 TimeZoneInfo.ConvertTime(rangeStart, zone) 作为解决方案,它如何“善良”足以为他们工作?除非他们的源时区恰好与他们的本地时区相同。

那么,一个可怜的 .NET C# 开发人员该怎么办呢?

0 投票
1 回答
350 浏览

java - 在 JodaDate 中单独更改偏移量而不更改日期和时间信息

我得到一个像“2012-07-01T06:00 +02:00”这样的字符串作为输入。它在 CET 中。但是这个字符串应该是“2012-07-01T06:00 +01:00”。

我们无法更改原始来源的任何内容。

现在我想将该日期作为我的系统预期的“2012-07-01T06:00 +01:00”。

我正在使用乔达图书馆。我阅读了将 DateTimeZone 指定为德国的日期。

在此日期,一旦我将 Europe/London 指定为 DateTimeZone,日期将变为“2012-07-01T05:00 +01:00”(这不是我的系统的预期值,请参阅小时变化)。

有没有办法不使用字符串操作?

0 投票
3 回答
3993 浏览

java - 如何将 DateTime 保存为包含 TimeZone 偏移量的日期?

我有一些 DateTime,包括 TimeZone Europe/Vienna (+0200)。它是通过这种方法获取的:

并像这样查看 toString:

2012-06-01T00:00:00.000+02:00

现在我想将这个日期 2012-06-01 保存为 java.util.Date,所以我尝试了这样的事情:

但结果是这样的:

2012 年 5 月 31 日星期四 22:00:00 UTC

将 DateTime 结果保存为包含TimeZone 偏移量的 Date 的最佳方法是什么,因此 transactionDate 应该是2012-06-01。我可以修补 GregorianCalendar,但这不是我喜欢的。这应该更容易,不是吗?

顺便说一句(如果不清楚的话)。本地系统在 UTC 上运行。这就是为什么结果是Thu May 31 22:00:00 UTC 2012

0 投票
1 回答
212 浏览

c# - 如何在不上传完整的 SQLCLR 程序集的情况下从 T-SQL 调用 BCL 类型的实例方法?

我在表中有一个 datetimeoffset 列,行中有不同的 TZ 偏移量。我想通过 BCL 类型 System.DateTimeOffset 上的ToLocalTime方法全部运行它们(由于夏令时,我不能只使用SWITCHOFFSET函数)。'clr enabled' 已重新配置。

“蛮力”方法似乎是使用静态方法创建一个静态类,例如:

有没有更简单的方法可以调用 BCL 类型/方法,而不必为此在数据库中创建程序集?

我希望我能够只调用 SQL 类型的方法,但没有这样的运气。尝试这样的事情:

...给

谢谢!