问题标签 [tdatetime]
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++ - Comparing two TDateTime variables
I am using C++ Builder and am wanting some help to see if two times are the same.
Here is my code:
These values appear to be the same. I have checked via a ShowMessage statement, and the message displayed is both in time format and they are the same value.
When comparing them though, with the following statement:
I am not getting a true statement. Is there another process needed to check if two times are the same?
Thanks
c++ - MonthOf TDateTime 歧义
我正在使用并正在使用数据类型C++ Builder
创建一个 GUI 应用程序。TDateTime
当我MonthOf()
在对象上使用该方法时TDateTime
,我得到的值比对象的实际月份晚 1 个月TDateTime
。
为什么是这样?这是一个错误吗?
delphi - 使用 StrToDateTime 和 TFormatSettings 的转换不起作用
此代码应该在 Delphi XE2 中工作,但它在 StrtoDateTime 转换中给出“不是有效的日期和时间”错误:
有什么提示吗?
delphi - Delphi 7中TDateTime的内部格式?
我已经花了很多时间研究这个并且非常卡住:我的问题是 - Delphi TDateTime 的内部格式在 Delphi 7(2002 年左右发布)和今天之间是否发生了变化?
场景:我正在读取一个由 Delphi 7 应用程序创建的二进制日志文件,供应商告诉我它是记录中的 TDateTime,但解码这些位表明它显然不是标准的 IEEE 754 浮点,即使现代 Delphi 生成的 TDateTime 是.
但它是某种浮点数,大约有 15 位指数和 45 位有效数字(与 IEE754 中的 11 和 53 位相反),并且前导位是 1(在 IEE754 中表示负数)显然不是负面的,例如当前日期/时间。
旧文档中的提示表明 TDateTime “读取为”双精度,但不一定在内部表示为一,这意味着内部格式几乎不可见,除非这些 TDateTime 以二进制形式写出。
我怀疑是 Delphi 8 发生了变化,它添加了 .NET 支持,但我根本无法在任何地方找到对此的任何引用。我有 perl 代码 (!) 可以区分这些主要工作的类型,但我很想找到一个正式的规范,这样我就可以正确地做到这一点。
有没有遇到过这种情况的老手?
~~~ 史蒂夫
c++builder-xe - 如何在运行时替换 TDateTime 类型的 Day
我有名为 dtBegin 的 TDateTime 变量。dtBegin 包含值“7/3/2000”。我只需要将 Day 替换为“2”即可将值更改为“2/3/2000”。
这该怎么做?有人建议我在 C++ Builder XE 中使用 RecodeDay() 方法,但该方法不起作用。我把 dtBegin 放在方法上:
但是该方法没有返回我想要的值。
有什么方法可以做到这一点吗?请帮帮我。提前致谢。
c++builder - TDateTime 值有什么问题
我有一个名为 currMonth 的 TDateTime 变量。currMonth 的值为“2000 年 6 月 30 日晚上 11:59:59”。我需要插入 currMonth 作为 TDBGrid 中名为 dtBegin 的字段的默认值。
我试试这段代码:
并且编译器成功编译了项目,但是当我调试它时,我得到的 dtBegin 值不是“6/30/2000 11:59:59 PM”而是{ 36738.9999999884 }。
有人知道这个 TDateTime 对象有什么问题吗?
提前致谢。
delphi - 如何检查 Variant 是否为 TDateTime?
我有一个对象,它有一个值,但该值可以是integer
,string
或. 所以,它是一个.boolean
TDateTime
Variant
我VarType()
用来检查它的类型,但由于VarType()
没有“varDate”或“varDateTime”,所以我使用“varDouble”,因为据我所知,aTDateTime
是double
.
但这返回错误。我也不能is
用来检查是否Variant
是TDateTime
. 有没有办法,或者我应该制作某种类型变量来确定值是哪种类型并使用它来检查它?
delphi - Delphi XE2:检索 LastLogon Int64 到 TDateTime 的转换
我试图在我的工作中从 AD 获取 LastLogin 信息。我有大约 1200 个帐户。当我运行查询并包含 LastLogin 信息时,对于大约 40 - 45% 的帐户,我得到了正确的返回日期。对于其他人,我得到一个默认值。可能是 01-01-1601 或 01-01-1970,具体取决于我使用的转换类型。当我使用非常慢的:Net User /Domain 时,我可以提取上次登录信息,但我需要 10 分钟而不是 10 秒。显然,我想要更快的东西。
这是我使用的代码:
以上方法有效,但仅在大约 40 - 45% 的情况下有效。AD 没有返回该值,或者转换中有问题。我不知道是哪一个。由于它的某些部分有效,我倾向于说 AD 不会返回我需要的值。当我直接在 AD 中检查时,我看到了正确的值。用查询检索它们并不总是给我这些信息。对我来说问题是,我从互联网上获取了这段代码,老实说,我了解一点但不是全部。我迷失了我看不到的数字。此外,调试一切对我来说是不可能的。我不允许在工作中安装 Delphi。我只能在未连接到网络的计算机上开发并将我的可执行文件复制到网络以尝试/测试所有内容。
delphi - Delphi中如何知道类型变量是TDateTime、TDate和TTime
我需要知道类型变量 TDateTime、TDate 和 TTime。
任何人都知道如何做到这一点?
我使用下面的代码,结果是“Is NOT TDateTime”、“Is NOT TDate”、“Is NOT Ttime”
谢谢
delphi - 使用 TryStrToDate 对日期进行特定验证
我正在尝试验证用户使用 TryStrToDate 输入的日期,以确保它们可以正确显示在我正在处理的应用程序的屏幕上,但不知道它到底是如何工作的。当输入长度不完全为 10 个字符的有效日期时,我希望能够返回 False。
例如,09/02/2012 将返回 True,但 09/2/2012 或 9/02/2012 将返回 False。
我想保持这个简单,所以我只对使用 TryStrToDate 感兴趣,但如果有另一个内置函数可以做到这一点,那也一样好。用户输入的数据在输入时经过验证,仅允许 10 个字符的日期。
因此,我目前正在使用类似的东西:
哪个工作得很好,但是还有一个数据实例是通过 XML 从 .csv 文件导入的,它可以有任何格式。
我目前的解决方案似乎仍然有效,但我想知道是否有一种方法可以通过使用 TryStrToDate 并让它只接受我需要的 10 个字符格式的有效日期来最小化处理。我尝试手动设置短日期格式:
但 TryStrToDate 始终接受有效日期,即使它们的长度不完全是 10 个字符。
我理想的解决方案是将其保留为:
只是想知道是否可以使用 TryStrToDate 或其他一些德尔福函数。
任何帮助是极大的赞赏!
顺便说一句,我正在使用 Delphi 7。