问题标签 [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.
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)
sql - SSIS getdate进入DateTimeOffset列 - 数据值溢出类型
我有一个 SSIS 包。源是一个 SQL 查询。目的地是一张桌子。该包一直有效,直到我将目标表中的列从 datetime 更改为 datetimeoffset(0)。
现在,所有记录都失败,并在此特定列上出现“转换失败,因为数据值溢出了提供者使用的类型”错误。
源查询中的值是 getdate()。我试过 TODATETIMEOFFSET(getdate(),'-05:00') 没有成功。
事实上,到目前为止唯一有效的是将以下内容硬编码到源查询中:
唯一另一个有趣的信息是,当对另一台服务器运行源查询时,该程序包运行良好,这意味着可能涉及到一个设置——但我发现两台服务器之间没有明显差异。
c# - C# 方法 TimeZoneInfo.ConvertTime 是否处理 DST?
我有以下用户可以选择的时区列表,亚利桑那州的山地标准时间有两次。这些不是他们在选择时看到的。我提取了一个包含所有 Microsoft 时区的网站列表。我想如果它列出了常规州和亚利桑那州的山地标准时间,我会感到困惑。
夏威夷标准时间
阿拉斯加标准时间
太平洋标准时间
山区标准时间
山区标准时间
中部标准时间
中美洲标准时间
东部标准时间
美国东部标准时间
我的问题是我猜这些不考虑 DST,所以我假设我需要在我的转换中添加一些东西来检查它们是否在 DST 中并相应地调整它。这是我现在进行转换的方式。
javascript - 如何将 PST Unix 时间戳转换为 UTC?
如何将 PST Unix 时间戳转换为 UTC,然后转换为任何自定义时区(GMT+2,...)?请在 javascript 或 nodejs lib ( momentjs )中提供解决方案
.net - .net 中的日期时间和偏移量
如何安排后台作业在哥伦比亚时间每天晚上 9 点开始?我正在使用quartz.net
StartAt 方法采用 DateTimeOffset 对象。
请帮忙
php - 致命错误:未定义的类常量“PER_COUNTRY”
我正在尝试使用以下代码查找某个国家/地区的时区。
代码在我的本地服务器 (WAMP) 上工作得非常好,但在 Live Server 上却不行。
这有什么问题?找不到有关此问题的太多解决方案。
让我知道我能做些什么来解决这个问题。
提前致谢。
c# - 为什么从一个时区转换到另一个时区如此困难?
我已经阅读了这里的多个帖子,直到我的头准备好爆炸,地图集上到处都是小线条。
这是我想做的事情:
- 我有一个充满约会的日历来显示一个企业。
- 公司位于纽约 (EDT)
- 我的开发机器在 PST
- 生产服务器位于加利福尼亚 (PST)
- 日历数据以 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# 开发人员该怎么办呢?
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”(这不是我的系统的预期值,请参阅小时变化)。
有没有办法不使用字符串操作?
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。
c# - 如何在不上传完整的 SQLCLR 程序集的情况下从 T-SQL 调用 BCL 类型的实例方法?
我在表中有一个 datetimeoffset 列,行中有不同的 TZ 偏移量。我想通过 BCL 类型 System.DateTimeOffset 上的ToLocalTime方法全部运行它们(由于夏令时,我不能只使用SWITCHOFFSET函数)。'clr enabled' 已重新配置。
“蛮力”方法似乎是使用静态方法创建一个静态类,例如:
有没有更简单的方法可以调用 BCL 类型/方法,而不必为此在数据库中创建程序集?
我希望我能够只调用 SQL 类型的方法,但没有这样的运气。尝试这样的事情:
...给
谢谢!