| Summary: | dateTimeLib.dateFromInt returning wrong date | ||
|---|---|---|---|
| Product: | z_Archived | Reporter: | broy2 |
| Component: | EDT | Assignee: | Project Inbox <edt.javagen-inbox> |
| Status: | CLOSED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | jeffdouglas, mheitz, svihovec, tww |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows XP | ||
| Whiteboard: | |||
I don't know what Tim was thinking. There's no good reason to make the function work differently in EDT. dateFromInt(0) should return December 31, 1899. fixed dateFromInt is working as expected now. But the start date is still 1969-12-31. Is that what we want, or do we want December 31, 1899? Somebody please make a ruling. Brian decided we should go with 12/31/1969. Verified in 20110929 build. |
dateTimeLib.dateFromInt This function should create a date using int as a number of days after a starting point date. The EGL code says: the number of days after December 31, 1899. Tim suggested I enter 0 for int. That returned 1969-12-31. So he said that was the starting point. Then I changed the value of int and got unexplained results. It was working as expected until I changed int from 24 to 25. 24 returned 1970-01-24. 25 returned 1969-12-07. Huh?? Any value > 24 doesn't return the expected date. int = 0, expecting 1969-12-31: 1969-12-31 19:00:00.000000 int = 10, expecting 1970-01-10: 1970-01-10 19:00:00.000000 int = 17, expecting 1970-01-17: 1970-01-17 19:00:00.000000 int = 24, expecting 1970-01-24: 1970-01-24 19:00:00.000000 int = 25, expecting 1970-01-25: 1969-12-07 01:57:12.704000 int = 31, expecting 1970-01-31: 1969-12-13 01:57:12.704000 int = 365, expecting 1970-12-31: 1970-01-17 19:40:28.928000 Notice int=365 returns same date as int = 17. And the HH:mm:ss.SSSSSS (which should not be part of type DATE) changes after int=24. myDate = dateTimeLib.dateFromInt(0); sysLib.writeStdout("int = 0, expecting 1969-12-31: " + myDate); myDate = dateTimeLib.dateFromInt(10); sysLib.writeStdout("int = 10, expecting 1970-01-10: " + myDate); myDate = dateTimeLib.dateFromInt(17); sysLib.writeStdout("int = 17, expecting 1970-01-17: " + myDate); myDate = dateTimeLib.dateFromInt(24); sysLib.writeStdout("int = 24, expecting 1970-01-24: " + myDate); myDate = dateTimeLib.dateFromInt(25); sysLib.writeStdout("int = 25, expecting 1970-01-25: " + myDate); myDate = dateTimeLib.dateFromInt(31); sysLib.writeStdout("int = 31, expecting 1970-01-31: " + myDate); myDate = dateTimeLib.dateFromInt(365); sysLib.writeStdout("int = 365, expecting 1970-12-31: " + myDate);