Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.php > #15732
| From | Lew Pitcher <lew.pitcher@digitalfreehold.ca> |
|---|---|
| Subject | Re: Check for military time |
| Newsgroups | comp.lang.php |
| References | <d8nh4uFgdr2U1@mid.individual.net> <d8nha3Fgdr2U2@mid.individual.net> <kf5e2blfd3545p492dnnii47an4jkmu62e@4ax.com> <%kSVx.210845$HZ6.47102@fx12.iad> <n09i2i$f8i$1@dont-email.me> |
| Organization | The Pitcher Digital Freehold |
| Message-ID | <PC6Wx.93819$9Q4.38733@fx01.iad> (permalink) |
| Date | 2015-10-22 10:43 -0400 |
On Wednesday October 21 2015 22:38, in comp.lang.php, "Jerry Stuckle"
<jstucklex@attglobal.net> wrote:
> On 10/21/2015 4:12 PM, Lew Pitcher wrote:
>> On Wednesday October 21 2015 00:35, in comp.lang.php, "Richard Yates"
>> <richard@yatesguitar.com> wrote:
>>
>>> On 20 Oct 2015 19:00:19 GMT, Derek Turner <frderek@suremail.je> wrote:
>>>
>>>> On Tue, 20 Oct 2015 18:57:34 +0000, Derek Turner wrote:
>>>>
>>>>> Is there a quick and dirty way to check that
>>>>>
>>>>> substr($string, 0 ,3) is a valid military time, ie. 0000-2359?
>>>>>
>>>>> tia
>>>>>
>>>>> Derek
>>>>
>>>> sorry, that should, of course, read ($string, 0, 4)
>>>
>>> This seems to work, but I did not test all cases:
>>>
>>> echo (strtotime($time)) ? 'Pass' : 'Fail';
>>
>> PHP Version 5.4.45
>>
>> I tried all integer test cases between 0000 and 2599, and found that this
>> test seems to fail on the range "1960" to "1999". On the off chance that
>> the strtotime() call interpreted its argument as a date, I modified the
>> argument to explicitly indicate military time (by prefixing it with a 't').
>> Still, the same 40 errors occurred, where "t1960" through "t1999" resulted
>> in strtotime() returning an integer instead of FALSE.
>>
>> Here's the test code
>> <html>
>> <head><title>Test time</title></head>
>> <body>
>> <ul>
>> <?php
>> $success = 0;
>> $failed = 0;
>>
>> for ($ts = 0; $ts < 2600; ++$ts)
>> {
>> $time = sprintf("t%04.4u",$ts);
>> $expect = ((floor($ts/100) <= 24) && ($ts % 100 < 60)) ? 'Pass' :
>> 'Fail';
>> $result = (strtotime($time)) ? 'Pass' : 'Fail';
>> $matched = ($expect == $result) ? 'Success' : 'Failed';
>> printf("<li>%s - %s: expected %s, got %s</li>\n",
>> $time,$matched,$expect,$result);
>> if ($matched == 'Success')
>> ++$success;
>> else
>> ++$failed;
>> }
>> ?>
>> </ul>
>> <?php
>> printf("%u Successful cases, %u failures\n",$success,$failed);
>> ?>
>> </body>
>> </html>
>>
>>
>
> Your logic is fallacious.
I disagree. You will have to prove your statement.
> The following code works and displays invalid
> times:
>
> <?php
> $success = 0;
> $failed = 0;
>
> for ($ts = 0; $ts < 2600; ++$ts)
> {
> $time = sprintf("%04.4u",$ts);
> $result = (strtotime($time));
> if ($result)
> ++$success;
> else {
> ++$failed;
> printf("%s failed\n", $time);
>
> }
> }
> printf("%u Successful cases, %u failures\n",$success,$failed);
> ?>
Results in
1540 Successful cases, 1060 failures
But, in the military clock, there are 25 hours (00 through 24) and 60 minutes
per hour (00 through 59). Thus, in 2600 test cases, ranging sequentially from
0000 through 2599, there should be 25x60 successes 25 hours, with 60 values
inside of the 00-59 range). That means 1500 successes in 2600 test cases.
But, your logic came up with 1540 successes. Apparently, your code got
40 "wrong" timestamps wrong. Now, Jerry, *which* 40 were wrong?
FWIW, my code reported that, in the same 2600 test cases, 2560 test cases
resulted in the expected results (strtotime() reporting a valid value for
valid time, or reporting false for an invalid time), and 40 anomalous results
(strtotime() gave a valid value for an invalid time, or returned false for a
valid time).
Perhaps you didn't read or understand the purpose of my code?
--
Lew Pitcher
"In Skills, We Trust"
PGP public key available upon request
Back to comp.lang.php | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Check for military time Derek Turner <frderek@suremail.je> - 2015-10-20 18:57 +0000
Re: Check for military time Derek Turner <frderek@suremail.je> - 2015-10-20 19:00 +0000
Re: Check for military time Richard Yates <richard@yatesguitar.com> - 2015-10-20 21:35 -0700
Re: Check for military time Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-10-21 16:12 -0400
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-21 22:38 -0400
Re: Check for military time Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-10-22 10:43 -0400
Re: Check for military time Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-10-22 10:48 -0400
Re: Check for military time Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-10-22 17:20 +0200
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-22 12:19 -0400
Re: Check for military time "Peter H. Coffin" <hellsop@ninehells.com> - 2015-10-22 15:32 -0500
Re: Check for military time Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-10-22 23:08 +0200
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-22 20:19 -0400
Re: Check for military time Matthew Carter <m@ahungry.com> - 2015-10-22 22:07 -0400
Re: Check for military time "Beauregard T. Shagnasty" <a.nony.mous@example.invalid> - 2015-10-23 02:26 +0000
Re: Check for military time Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-10-22 17:13 -0400
Re: Check for military time Tim Streater <timstreater@greenbee.net> - 2015-10-22 22:57 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-22 20:22 -0400
Re: Check for military time Tim Streater <timstreater@greenbee.net> - 2015-10-23 09:19 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-23 09:32 -0400
Re: Check for military time Tim Streater <timstreater@greenbee.net> - 2015-10-23 15:43 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-23 11:11 -0400
Re: Check for military time gordonb.nwjln@burditt.org (Gordon Burditt) - 2015-10-23 12:36 -0500
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-23 13:40 -0400
Re: Check for military time Tim Streater <timstreater@greenbee.net> - 2015-10-23 18:54 +0100
Re: Check for military time Norman Peelman <npeelman@cfl.rr.com> - 2015-10-23 22:44 -0400
Re: Check for military time Tim Streater <timstreater@greenbee.net> - 2015-10-24 10:32 +0100
Re: Check for military time Derek Turner <frderek@suremail.je> - 2015-10-24 11:41 +0000
Re: Check for military time Norman Peelman <npeelman@cfl.rr.com> - 2015-10-24 15:15 -0400
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-22 20:21 -0400
Re: Check for military time Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-10-22 20:38 -0400
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-22 20:47 -0400
Re: Check for military time gordonb.90ylr@burditt.org (Gordon Burditt) - 2015-10-22 18:21 -0500
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-22 20:23 -0400
Re: Check for military time gordonb.c5zx1@burditt.org (Gordon Burditt) - 2015-10-22 17:40 -0500
Re: Check for military time Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-10-22 11:12 +0200
Re: Check for military time Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-10-22 11:06 -0400
Re: Check for military time Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-10-22 17:18 +0200
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-22 13:17 -0400
Re: Check for military time Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-10-21 13:55 +0200
Re: Check for military time "M. Strobel" <strobel@example.com> - 2015-10-21 20:56 +0200
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-21 16:48 -0400
Re: Check for military time Stephan Elinghaus <221015.6.seli@spamgourmet.com> - 2015-10-22 13:16 +0200
Re: Check for military time Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-10-22 15:11 +0200
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-22 10:23 -0400
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-10-27 14:10 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-27 09:25 -0400
Re: Check for military time Jørn Andersen <jorn@jorna.dk> - 2015-10-27 15:19 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-27 10:41 -0400
Re: Check for military time Matthew Carter <m@ahungry.com> - 2015-10-27 23:03 -0400
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-27 23:29 -0400
Re: Check for military time Erwin Moller <erwinmollerusenet@xs4all.nl> - 2015-10-29 10:08 +0100
Re: Check for military time Matthew Carter <m@ahungry.com> - 2015-10-29 21:44 -0400
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-29 22:35 -0400
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-10-30 20:08 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-30 16:22 -0400
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-01 11:58 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-01 08:27 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-01 14:36 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-01 09:05 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-01 16:51 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-01 11:09 -0500
Re: Check for military time Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-10-30 22:33 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-30 20:01 -0400
Re: Check for military time Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-11-03 19:51 +0100
Re: Check for military time Erwin Moller <erwinmollerusenet@xs4all.nl> - 2015-11-02 13:51 +0100
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-02 18:57 +0100
Re: Check for military time Erwin Moller <erwinmollerusenet@xs4all.nl> - 2015-11-04 15:18 +0100
Re: Check for military time Matthew Carter <m@ahungry.com> - 2015-11-04 21:18 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-05 07:51 +0100
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-10-30 20:04 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-30 16:24 -0400
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-01 12:06 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-01 08:30 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-01 14:39 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-01 09:07 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-01 16:58 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-01 11:05 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-02 08:14 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-02 10:01 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-02 17:54 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-02 12:50 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-02 19:05 +0100
Re: Check for military time Tim Streater <timstreater@greenbee.net> - 2015-11-02 18:23 +0000
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-02 15:23 -0500
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-02 15:16 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-03 05:47 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-03 08:47 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-04 03:55 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-03 22:09 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-04 08:49 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-04 08:29 -0500
Re: Check for military time Paul Herber <paul@pherber.com> - 2015-11-04 14:14 +0000
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-04 10:00 -0500
Re: Check for military time Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-11-06 13:11 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-06 09:45 -0500
Re: Check for military time Matthew Carter <m@ahungry.com> - 2015-11-07 21:50 -0500
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-07 22:05 -0500
Re: Check for military time gordonb.2zzss@burditt.org (Gordon Burditt) - 2015-11-08 20:50 -0600
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-09 10:29 +0100
Re: Check for military time gordonb.00syf@burditt.org (Gordon Burditt) - 2015-11-10 23:42 -0600
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-11 07:46 +0100
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-11 07:50 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-11 08:06 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-11 15:15 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-11 09:21 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-11 17:46 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-11 15:12 -0500
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-11 22:23 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-11 17:17 -0500
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-11 08:05 -0500
OT: Munging addresses (was: Re: Check for military time) Arno Welzel <usenet@arnowelzel.de> - 2015-11-11 19:18 +0100
Re: OT: Munging addresses Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-11 15:16 -0500
Re: OT: Munging addresses Arno Welzel <usenet@arnowelzel.de> - 2015-11-11 22:29 +0100
Re: OT: Munging addresses Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-11 17:20 -0500
Re: OT: Munging addresses Arno Welzel <usenet@arnowelzel.de> - 2015-11-12 07:47 +0100
Re: OT: Munging addresses Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-12 10:15 -0500
Re: OT: Munging addresses Arno Welzel <usenet@arnowelzel.de> - 2015-11-12 17:17 +0100
Re: OT: Munging addresses Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-12 11:59 -0500
Re: OT: Munging addresses Arno Welzel <usenet@arnowelzel.de> - 2015-11-12 18:51 +0100
Re: OT: Munging addresses Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-12 14:20 -0500
Re: OT: Munging addresses Arno Welzel <usenet@arnowelzel.de> - 2015-11-12 20:59 +0100
Re: OT: Munging addresses Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-12 16:54 -0500
Re: OT: Munging addresses Jim Higgins <ILikeMy@Privacy.invalid> - 2015-11-18 16:24 +0000
PHP code section end marker (was: Check for military time) Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2015-10-27 22:58 +0100
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-10-30 20:01 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-10-30 16:27 -0400
Re: Check for military time Arno Welzel <usenet@arnowelzel.de> - 2015-11-01 12:12 +0100
Re: Check for military time Jerry Stuckle <jstucklex@attglobal.net> - 2015-11-01 08:31 -0500
csiph-web