Browse Source

Split up tests, and add tests for RFC 850

master
J. King 4 years ago
parent
commit
7ead15501b
  1. 22
      tests/cases/Date/DateTest.php
  2. 115
      tests/cases/Date/test-rfc3339.yaml
  3. 146
      tests/cases/Date/test-rfc822.yaml
  4. 310
      tests/cases/Date/test-rfc850.yaml

22
tests/cases/Date/DateTest.php

@ -66,18 +66,20 @@ class DateTest extends \PHPUnit\Framework\TestCase {
}
public function provideParsableStrings(): iterable {
foreach ((new YamlParser)->parseFile(__DIR__."/date-tests.yaml", Yaml::PARSE_OBJECT_FOR_MAP) as $description => $test) {
if (!is_null($test->output) && substr($test->output, -6) === "-00:00") {
// PHP does not preserve the -0000 timezone
$test->output[-6] = "+";
}
if (is_array($test->input)) {
foreach($test->input as $input) {
yield "$description ($input)" => [$input, $test->output];
foreach (new \GlobIterator(__DIR__."/test-*.yaml", \FilesystemIterator::CURRENT_AS_PATHNAME | \FilesystemIterator::KEY_AS_FILENAME) as $file => $path) {
foreach ((new YamlParser)->parseFile($path, Yaml::PARSE_OBJECT_FOR_MAP) as $description => $test) {
if (!is_null($test->output) && substr($test->output, -6) === "-00:00") {
// PHP does not preserve the -0000 timezone
$test->output[-6] = "+";
}
if (is_array($test->input)) {
foreach($test->input as $input) {
yield "$description ($input)" => [$input, $test->output];
}
} else {
yield "$description" => [$test->input, $test->output];
}
} else {
yield "$description" => [$test->input, $test->output];
}
}
}

115
tests/cases/Date/test-rfc3339.yaml

@ -0,0 +1,115 @@
RFC 3339 Zulu time:
input:
- '2020-03-05T23:08:55Z'
- '2020-03-05T23:08:55z'
- '2020-03-05t23:08:55Z'
- '2020-03-05t23:08:55z'
- '2020-03-05 23:08:55Z'
- '2020-03-05 23:08:55z'
output: '2020-03-05T23:08:55+00:00'
RFC 3339 UTC-4:
input:
- '2020-03-05T23:08:55-0400'
- '2020-03-05t23:08:55-0400'
- '2020-03-05 23:08:55-0400'
- '2020-03-05T23:08:55 -0400'
- '2020-03-05t23:08:55 -0400'
- '2020-03-05 23:08:55 -0400'
- '2020-03-05T23:08:55-04:00'
- '2020-03-05t23:08:55-04:00'
- '2020-03-05 23:08:55-04:00'
- '2020-03-05T23:08:55 -04:00'
- '2020-03-05t23:08:55 -04:00'
- '2020-03-05 23:08:55 -04:00'
output: '2020-03-05T23:08:55-04:00'
RFC 3339 UTC+11:
input:
- '2020-03-05T23:08:55+1100'
- '2020-03-05t23:08:55+1100'
- '2020-03-05 23:08:55+1100'
- '2020-03-05T23:08:55 +1100'
- '2020-03-05t23:08:55 +1100'
- '2020-03-05 23:08:55 +1100'
- '2020-03-05T23:08:55+11:00'
- '2020-03-05t23:08:55+11:00'
- '2020-03-05 23:08:55+11:00'
- '2020-03-05T23:08:55 +11:00'
- '2020-03-05t23:08:55 +11:00'
- '2020-03-05 23:08:55 +11:00'
output: '2020-03-05T23:08:55+11:00'
RFC 3339 with various precision:
input:
- '2020-03-05T23:08:00Z'
- '2020-03-05T23:08Z'
- '2020-03-05T23:08:00.0Z'
- '2020-03-05T23:08:00.000000000000Z'
output: '2020-03-05T23:08:00+00:00'
RFC 3339 with subseconds:
input:
- '2020-03-05T23:08:00.123456Z'
- '2020-03-05t23:08:00.123456Z'
- '2020-03-05 23:08:00.123456Z'
- '2020-03-05T23:08:00.123456z'
- '2020-03-05t23:08:00.123456z'
- '2020-03-05 23:08:00.123456z'
- '2020-03-05T23:08:00.123456+0000'
- '2020-03-05t23:08:00.123456+0000'
- '2020-03-05 23:08:00.123456+0000'
- '2020-03-05T23:08:00.123456+00:00'
- '2020-03-05t23:08:00.123456+00:00'
- '2020-03-05 23:08:00.123456+00:00'
- '2020-03-05T23:08:00.123456 +0000'
- '2020-03-05t23:08:00.123456 +0000'
- '2020-03-05 23:08:00.123456 +0000'
- '2020-03-05T23:08:00.123456 +00:00'
- '2020-03-05t23:08:00.123456 +00:00'
- '2020-03-05 23:08:00.123456 +00:00'
output: '2020-03-05T23:08:00.123456+00:00'
RFC 3339 without timezone:
input:
- '2020-03-05T23:08:55-0000'
- '2020-03-05T23:08:55-00:00'
- '2020-03-05T23:08:55 -0000'
- '2020-03-05T23:08:55 -00:00'
- '2020-03-05T23:08:55'
- '2020-03-05t23:08:55-0000'
- '2020-03-05t23:08:55-00:00'
- '2020-03-05t23:08:55 -0000'
- '2020-03-05t23:08:55 -00:00'
- '2020-03-05t23:08:55'
- '2020-03-05 23:08:55-0000'
- '2020-03-05 23:08:55-00:00'
- '2020-03-05 23:08:55 -0000'
- '2020-03-05 23:08:55 -00:00'
- '2020-03-05 23:08:55'
output: '2020-03-05T23:08:55-00:00'
RFC 3339 with invalid data:
input:
- '2020-02-31T23:08:55Z' # impossible date (February 31)
- '2020-02-28T25:08:55Z' # impossible hour
- '2020-02-28T23:65:55Z' # impossible minute
- '2020-02-28T23:08:74Z' # impossible second
- '2020-02-28T23:08:74+1300' # impossible hour in timezone
- '2020-02-28T23:08:74-1300' # impossible hour in timezone
- '2020-02-28T23:08:74+1165' # impossible minute in timezone
- '2020-02-28T23:08:74-1165' # impossible minute in timezone
output: null
RFC 3339 with invalid syntax:
input:
- '20-02-05T23:08:55Z'
- '2020-2-05T23:08:55Z'
- '2020-02-5T23:08:55Z'
- '2020-02-05T3:08:55Z'
- '2020-02-05T23:8:55Z'
- '2020-02-05T23:08:5Z'
- '2020-02-05T23:08:55.Z'
- '2020-02-05T23:08.0Z'
- '2020-02-05T23:08:55 UTC' # only numeric offset or "Z" are allowed for RFC 3339
output: null

146
tests/cases/Date/date-tests.yaml → tests/cases/Date/test-rfc822.yaml

@ -1,119 +1,3 @@
RFC 3339 Zulu time:
input:
- '2020-03-05T23:08:55Z'
- '2020-03-05T23:08:55z'
- '2020-03-05t23:08:55Z'
- '2020-03-05t23:08:55z'
- '2020-03-05 23:08:55Z'
- '2020-03-05 23:08:55z'
output: '2020-03-05T23:08:55+00:00'
RFC 3339 UTC-4:
input:
- '2020-03-05T23:08:55-0400'
- '2020-03-05t23:08:55-0400'
- '2020-03-05 23:08:55-0400'
- '2020-03-05T23:08:55 -0400'
- '2020-03-05t23:08:55 -0400'
- '2020-03-05 23:08:55 -0400'
- '2020-03-05T23:08:55-04:00'
- '2020-03-05t23:08:55-04:00'
- '2020-03-05 23:08:55-04:00'
- '2020-03-05T23:08:55 -04:00'
- '2020-03-05t23:08:55 -04:00'
- '2020-03-05 23:08:55 -04:00'
output: '2020-03-05T23:08:55-04:00'
RFC 3339 UTC+11:
input:
- '2020-03-05T23:08:55+1100'
- '2020-03-05t23:08:55+1100'
- '2020-03-05 23:08:55+1100'
- '2020-03-05T23:08:55 +1100'
- '2020-03-05t23:08:55 +1100'
- '2020-03-05 23:08:55 +1100'
- '2020-03-05T23:08:55+11:00'
- '2020-03-05t23:08:55+11:00'
- '2020-03-05 23:08:55+11:00'
- '2020-03-05T23:08:55 +11:00'
- '2020-03-05t23:08:55 +11:00'
- '2020-03-05 23:08:55 +11:00'
output: '2020-03-05T23:08:55+11:00'
RFC 3339 with various precision:
input:
- '2020-03-05T23:08:00Z'
- '2020-03-05T23:08Z'
- '2020-03-05T23:08:00.0Z'
- '2020-03-05T23:08:00.000000000000Z'
output: '2020-03-05T23:08:00+00:00'
RFC 3339 with subseconds:
input:
- '2020-03-05T23:08:00.123456Z'
- '2020-03-05t23:08:00.123456Z'
- '2020-03-05 23:08:00.123456Z'
- '2020-03-05T23:08:00.123456z'
- '2020-03-05t23:08:00.123456z'
- '2020-03-05 23:08:00.123456z'
- '2020-03-05T23:08:00.123456+0000'
- '2020-03-05t23:08:00.123456+0000'
- '2020-03-05 23:08:00.123456+0000'
- '2020-03-05T23:08:00.123456+00:00'
- '2020-03-05t23:08:00.123456+00:00'
- '2020-03-05 23:08:00.123456+00:00'
- '2020-03-05T23:08:00.123456 +0000'
- '2020-03-05t23:08:00.123456 +0000'
- '2020-03-05 23:08:00.123456 +0000'
- '2020-03-05T23:08:00.123456 +00:00'
- '2020-03-05t23:08:00.123456 +00:00'
- '2020-03-05 23:08:00.123456 +00:00'
output: '2020-03-05T23:08:00.123456+00:00'
RFC 3339 without timezone:
input:
- '2020-03-05T23:08:55-0000'
- '2020-03-05T23:08:55-00:00'
- '2020-03-05T23:08:55 -0000'
- '2020-03-05T23:08:55 -00:00'
- '2020-03-05T23:08:55'
- '2020-03-05t23:08:55-0000'
- '2020-03-05t23:08:55-00:00'
- '2020-03-05t23:08:55 -0000'
- '2020-03-05t23:08:55 -00:00'
- '2020-03-05t23:08:55'
- '2020-03-05 23:08:55-0000'
- '2020-03-05 23:08:55-00:00'
- '2020-03-05 23:08:55 -0000'
- '2020-03-05 23:08:55 -00:00'
- '2020-03-05 23:08:55'
output: '2020-03-05T23:08:55-00:00'
RFC 3339 with invalid data:
input:
- '2020-02-31T23:08:55Z' # impossible date (February 31)
- '2020-02-28T25:08:55Z' # impossible hour
- '2020-02-28T23:65:55Z' # impossible minute
- '2020-02-28T23:08:74Z' # impossible second
- '2020-02-28T23:08:74+1300' # impossible hour in timezone
- '2020-02-28T23:08:74-1300' # impossible hour in timezone
- '2020-02-28T23:08:74+1165' # impossible minute in timezone
- '2020-02-28T23:08:74-1165' # impossible minute in timezone
output: null
RFC 3339 with invalid syntax:
input:
- '20-02-05T23:08:55Z'
- '2020-2-05T23:08:55Z'
- '2020-02-5T23:08:55Z'
- '2020-02-05T3:08:55Z'
- '2020-02-05T23:8:55Z'
- '2020-02-05T23:08:5Z'
- '2020-02-05T23:08:55.Z'
- '2020-02-05T23:08.0Z'
- '2020-02-05T23:08:55 UTC' # only numeric offset or "Z" are allowed for RFC 3339
output: null
RFC 822 Zulu time:
input:
- 'Thu, 05 Mar 2020 23:08:55Z'
@ -132,12 +16,12 @@ RFC 822 Zulu time:
- 'Thu, 05 Mar 20 23:08:55 UT'
- 'Thu, 05 Mar 2020 23:08:55UT'
- 'Thu, 05 Mar 20 23:08:55UT'
- 'Mon, 05 Mar 2020 23:08:55Z'
- 'Tue, 05 Mar 2020 23:08:55Z'
- 'Wed, 05 Mar 2020 23:08:55Z'
- 'Fri, 05 Mar 2020 23:08:55Z'
- 'Sat, 05 Mar 2020 23:08:55Z'
- 'Sun, 05 Mar 2020 23:08:55Z'
- 'Mon, 05 Mar 2020 23:08:55Z' # weekday is ignored
- 'Tue, 05 Mar 2020 23:08:55Z' # weekday is ignored
- 'Wed, 05 Mar 2020 23:08:55Z' # weekday is ignored
- 'Fri, 05 Mar 2020 23:08:55Z' # weekday is ignored
- 'Sat, 05 Mar 2020 23:08:55Z' # weekday is ignored
- 'Sun, 05 Mar 2020 23:08:55Z' # weekday is ignored
output: '2020-03-05T23:08:55+00:00'
RFC 822 UTC+1:
@ -396,6 +280,24 @@ RFC 822 UTC-12:
- 'Sat, 05 Dec 2020 23:08:55 -12:00'
output: '2020-12-05T23:08:55-12:00'
RFC 822 with various precision:
input:
- 'Thu, 05 Mar 2020 23:08:00Z'
- 'Thu, 05 Mar 2020 23:08Z'
- 'Thu, 05 Mar 2020 23:08:00.0Z'
- 'Thu, 05 Mar 2020 23:08:00.000000000000Z'
output: '2020-03-05T23:08:00+00:00'
RFC 822 with subseconds:
input:
- 'Thu, 05 Mar 2020 23:08:00.123456Z'
- 'Thu, 05 Mar 2020 23:08:00.123456+0000'
- 'Thu, 05 Mar 2020 23:08:00.123456+00:00'
- 'Thu, 05 Mar 2020 23:08:00.123456 Z'
- 'Thu, 05 Mar 2020 23:08:00.123456 +0000'
- 'Thu, 05 Mar 2020 23:08:00.123456 +00:00'
output: '2020-03-05T23:08:00.123456+00:00'
RFC 822 with no time zone:
input:
- 'Thu, 05 Mar 2020 23:08:55'

310
tests/cases/Date/test-rfc850.yaml

@ -0,0 +1,310 @@
RFC 850 Zulu time:
input:
- 'Thursday, 05-Mar-2020 23:08:55Z'
- 'Thursday, 05-Mar-20 23:08:55Z'
- 'Thursday, 05-Mar-2020 23:08:55 Z'
- 'Thursday, 05-Mar-20 23:08:55 Z'
- 'Thursday, 05-Mar-2020 23:08:55 GMT'
- 'Thursday, 05-Mar-20 23:08:55 GMT'
- 'Thursday, 05-Mar-2020 23:08:55GMT'
- 'Thursday, 05-Mar-20 23:08:55GMT'
- 'Thursday, 05-Mar-2020 23:08:55 UTC'
- 'Thursday, 05-Mar-20 23:08:55 UTC'
- 'Thursday, 05-Mar-2020 23:08:55UTC'
- 'Thursday, 05-Mar-20 23:08:55UTC'
- 'Thursday, 05-Mar-2020 23:08:55 UT'
- 'Thursday, 05-Mar-20 23:08:55 UT'
- 'Thursday, 05-Mar-2020 23:08:55UT'
- 'Thursday, 05-Mar-20 23:08:55UT'
- 'Monday, 05-Mar-2020 23:08:55Z' # weekday is ignored
- 'Tuesday, 05-Mar-2020 23:08:55Z' # weekday is ignored
- 'Wednesday, 05-Mar-2020 23:08:55Z' # weekday is ignored
- 'Friday, 05-Mar-2020 23:08:55Z' # weekday is ignored
- 'Saturday, 05-Mar-2020 23:08:55Z' # weekday is ignored
- 'Sunday, 05-Mar-2020 23:08:55Z' # weekday is ignored
output: '2020-03-05T23:08:55+00:00'
RFC 850 UTC+1:
input:
- 'Sunday, 05-Jan-2020 23:08:55A'
- 'Sunday, 05-Jan-2020 23:08:55+0100'
- 'Sunday, 05-Jan-2020 23:08:55+01:00'
- 'Sunday, 05-Jan-2020 23:08:55 A'
- 'Sunday, 05-Jan-2020 23:08:55 +0100'
- 'Sunday, 05-Jan-2020 23:08:55 +01:00'
output: '2020-01-05T23:08:55+01:00'
RFC 850 UTC+2:
input:
- 'Wednesday, 05-Feb-2020 23:08:55B'
- 'Wednesday, 05-Feb-2020 23:08:55+0200'
- 'Wednesday, 05-Feb-2020 23:08:55+02:00'
- 'Wednesday, 05-Feb-2020 23:08:55 B'
- 'Wednesday, 05-Feb-2020 23:08:55 +0200'
- 'Wednesday, 05-Feb-2020 23:08:55 +02:00'
output: '2020-02-05T23:08:55+02:00'
RFC 850 UTC+3:
input:
- 'Thursday, 05-Mar-2020 23:08:55C'
- 'Thursday, 05-Mar-2020 23:08:55+0300'
- 'Thursday, 05-Mar-2020 23:08:55+03:00'
- 'Thursday, 05-Mar-2020 23:08:55 C'
- 'Thursday, 05-Mar-2020 23:08:55 +0300'
- 'Thursday, 05-Mar-2020 23:08:55 +03:00'
output: '2020-03-05T23:08:55+03:00'
RFC 850 UTC+4:
input:
- 'Sunday, 05-Apr-2020 23:08:55D'
- 'Sunday, 05-Apr-2020 23:08:55+0400'
- 'Sunday, 05-Apr-2020 23:08:55+04:00'
- 'Sunday, 05-Apr-2020 23:08:55 D'
- 'Sunday, 05-Apr-2020 23:08:55 +0400'
- 'Sunday, 05-Apr-2020 23:08:55 +04:00'
output: '2020-04-05T23:08:55+04:00'
RFC 850 UTC+5:
input:
- 'Tuesday, 05-May-2020 23:08:55E'
- 'Tuesday, 05-May-2020 23:08:55+0500'
- 'Tuesday, 05-May-2020 23:08:55+05:00'
- 'Tuesday, 05-May-2020 23:08:55 E'
- 'Tuesday, 05-May-2020 23:08:55 +0500'
- 'Tuesday, 05-May-2020 23:08:55 +05:00'
output: '2020-05-05T23:08:55+05:00'
RFC 850 UTC+6:
input:
- 'Friday, 05-Jun-2020 23:08:55F'
- 'Friday, 05-Jun-2020 23:08:55+0600'
- 'Friday, 05-Jun-2020 23:08:55+06:00'
- 'Friday, 05-Jun-2020 23:08:55 F'
- 'Friday, 05-Jun-2020 23:08:55 +0600'
- 'Friday, 05-Jun-2020 23:08:55 +06:00'
output: '2020-06-05T23:08:55+06:00'
RFC 850 UTC+7:
input:
- 'Sunday, 05-Jul-2020 23:08:55G'
- 'Sunday, 05-Jul-2020 23:08:55+0700'
- 'Sunday, 05-Jul-2020 23:08:55+07:00'
- 'Sunday, 05-Jul-2020 23:08:55 G'
- 'Sunday, 05-Jul-2020 23:08:55 +0700'
- 'Sunday, 05-Jul-2020 23:08:55 +07:00'
output: '2020-07-05T23:08:55+07:00'
RFC 850 UTC+8:
input:
- 'Wednesday, 05-Aug-2020 23:08:55H'
- 'Wednesday, 05-Aug-2020 23:08:55+0800'
- 'Wednesday, 05-Aug-2020 23:08:55+08:00'
- 'Wednesday, 05-Aug-2020 23:08:55 H'
- 'Wednesday, 05-Aug-2020 23:08:55 +0800'
- 'Wednesday, 05-Aug-2020 23:08:55 +08:00'
output: '2020-08-05T23:08:55+08:00'
RFC 850 UTC+9:
input:
- 'Saturday, 05-Sep-2020 23:08:55I'
- 'Saturday, 05-Sep-2020 23:08:55+0900'
- 'Saturday, 05-Sep-2020 23:08:55+09:00'
- 'Saturday, 05-Sep-2020 23:08:55 I'
- 'Saturday, 05-Sep-2020 23:08:55 +0900'
- 'Saturday, 05-Sep-2020 23:08:55 +09:00'
output: '2020-09-05T23:08:55+09:00'
RFC 850 UTC+10:
input:
- 'Monday, 05-Oct-2020 23:08:55K'
- 'Monday, 05-Oct-2020 23:08:55+1000'
- 'Monday, 05-Oct-2020 23:08:55+10:00'
- 'Monday, 05-Oct-2020 23:08:55 K'
- 'Monday, 05-Oct-2020 23:08:55 +1000'
- 'Monday, 05-Oct-2020 23:08:55 +10:00'
output: '2020-10-05T23:08:55+10:00'
RFC 850 UTC+11:
input:
- 'Thursday, 05-Nov-2020 23:08:55L'
- 'Thursday, 05-Nov-2020 23:08:55+1100'
- 'Thursday, 05-Nov-2020 23:08:55+11:00'
- 'Thursday, 05-Nov-2020 23:08:55 L'
- 'Thursday, 05-Nov-2020 23:08:55 +1100'
- 'Thursday, 05-Nov-2020 23:08:55 +11:00'
output: '2020-11-05T23:08:55+11:00'
RFC 850 UTC+12:
input:
- 'Saturday, 05-Dec-2020 23:08:55M'
- 'Saturday, 05-Dec-2020 23:08:55+1200'
- 'Saturday, 05-Dec-2020 23:08:55+12:00'
- 'Saturday, 05-Dec-2020 23:08:55 M'
- 'Saturday, 05-Dec-2020 23:08:55 +1200'
- 'Saturday, 05-Dec-2020 23:08:55 +12:00'
output: '2020-12-05T23:08:55+12:00'
RFC 850 UTC-1:
input:
- 'Sunday, 05-Jan-2020 23:08:55N'
- 'Sunday, 05-Jan-2020 23:08:55-0100'
- 'Sunday, 05-Jan-2020 23:08:55-01:00'
- 'Sunday, 05-Jan-2020 23:08:55 N'
- 'Sunday, 05-Jan-2020 23:08:55 -0100'
- 'Sunday, 05-Jan-2020 23:08:55 -01:00'
output: '2020-01-05T23:08:55-01:00'
RFC 850 UTC-2:
input:
- 'Wednesday, 05-Feb-2020 23:08:55O'
- 'Wednesday, 05-Feb-2020 23:08:55-0200'
- 'Wednesday, 05-Feb-2020 23:08:55-02:00'
- 'Wednesday, 05-Feb-2020 23:08:55 O'
- 'Wednesday, 05-Feb-2020 23:08:55 -0200'
- 'Wednesday, 05-Feb-2020 23:08:55 -02:00'
output: '2020-02-05T23:08:55-02:00'
RFC 850 UTC-3:
input:
- 'Thursday, 05-Mar-2020 23:08:55P'
- 'Thursday, 05-Mar-2020 23:08:55-0300'
- 'Thursday, 05-Mar-2020 23:08:55-03:00'
- 'Thursday, 05-Mar-2020 23:08:55 P'
- 'Thursday, 05-Mar-2020 23:08:55 -0300'
- 'Thursday, 05-Mar-2020 23:08:55 -03:00'
output: '2020-03-05T23:08:55-03:00'
RFC 850 UTC-4:
input:
- 'Sunday, 05-Apr-2020 23:08:55Q'
- 'Sunday, 05-Apr-2020 23:08:55-0400'
- 'Sunday, 05-Apr-2020 23:08:55-04:00'
- 'Sunday, 05-Apr-2020 23:08:55 Q'
- 'Sunday, 05-Apr-2020 23:08:55 -0400'
- 'Sunday, 05-Apr-2020 23:08:55 -04:00'
- 'Sunday, 05-Apr-2020 23:08:55EDT'
- 'Sunday, 05-Apr-2020 23:08:55 EDT'
output: '2020-04-05T23:08:55-04:00'
RFC 850 UTC-5:
input:
- 'Tuesday, 05-May-2020 23:08:55R'
- 'Tuesday, 05-May-2020 23:08:55-0500'
- 'Tuesday, 05-May-2020 23:08:55-05:00'
- 'Tuesday, 05-May-2020 23:08:55 R'
- 'Tuesday, 05-May-2020 23:08:55 -0500'
- 'Tuesday, 05-May-2020 23:08:55 -05:00'
- 'Tuesday, 05-May-2020 23:08:55CDT'
- 'Tuesday, 05-May-2020 23:08:55EST'
- 'Tuesday, 05-May-2020 23:08:55 CDT'
- 'Tuesday, 05-May-2020 23:08:55 EST'
output: '2020-05-05T23:08:55-05:00'
RFC 850 UTC-6:
input:
- 'Friday, 05-Jun-2020 23:08:55S'
- 'Friday, 05-Jun-2020 23:08:55-0600'
- 'Friday, 05-Jun-2020 23:08:55-06:00'
- 'Friday, 05-Jun-2020 23:08:55 S'
- 'Friday, 05-Jun-2020 23:08:55 -0600'
- 'Friday, 05-Jun-2020 23:08:55 -06:00'
- 'Friday, 05-Jun-2020 23:08:55MDT'
- 'Friday, 05-Jun-2020 23:08:55CST'
- 'Friday, 05-Jun-2020 23:08:55 MDT'
- 'Friday, 05-Jun-2020 23:08:55 CST'
output: '2020-06-05T23:08:55-06:00'
RFC 850 UTC-7:
input:
- 'Sunday, 05-Jul-2020 23:08:55T'
- 'Sunday, 05-Jul-2020 23:08:55-0700'
- 'Sunday, 05-Jul-2020 23:08:55-07:00'
- 'Sunday, 05-Jul-2020 23:08:55 T'
- 'Sunday, 05-Jul-2020 23:08:55 -0700'
- 'Sunday, 05-Jul-2020 23:08:55 -07:00'
- 'Sunday, 05-Jul-2020 23:08:55PDT'
- 'Sunday, 05-Jul-2020 23:08:55MST'
- 'Sunday, 05-Jul-2020 23:08:55 PDT'
- 'Sunday, 05-Jul-2020 23:08:55 MST'
output: '2020-07-05T23:08:55-07:00'
RFC 850 UTC-8:
input:
- 'Wednesday, 05-Aug-2020 23:08:55U'
- 'Wednesday, 05-Aug-2020 23:08:55-0800'
- 'Wednesday, 05-Aug-2020 23:08:55-08:00'
- 'Wednesday, 05-Aug-2020 23:08:55 U'
- 'Wednesday, 05-Aug-2020 23:08:55 -0800'
- 'Wednesday, 05-Aug-2020 23:08:55 -08:00'
- 'Wednesday, 05-Aug-2020 23:08:55PST'
- 'Wednesday, 05-Aug-2020 23:08:55 PST'
output: '2020-08-05T23:08:55-08:00'
RFC 850 UTC-9:
input:
- 'Saturday, 05-Sep-2020 23:08:55V'
- 'Saturday, 05-Sep-2020 23:08:55-0900'
- 'Saturday, 05-Sep-2020 23:08:55-09:00'
- 'Saturday, 05-Sep-2020 23:08:55 V'
- 'Saturday, 05-Sep-2020 23:08:55 -0900'
- 'Saturday, 05-Sep-2020 23:08:55 -09:00'
output: '2020-09-05T23:08:55-09:00'
RFC 850 UTC-10:
input:
- 'Monday, 05-Oct-2020 23:08:55W'
- 'Monday, 05-Oct-2020 23:08:55-1000'
- 'Monday, 05-Oct-2020 23:08:55-10:00'
- 'Monday, 05-Oct-2020 23:08:55 W'
- 'Monday, 05-Oct-2020 23:08:55 -1000'
- 'Monday, 05-Oct-2020 23:08:55 -10:00'
output: '2020-10-05T23:08:55-10:00'
RFC 850 UTC-11:
input:
- 'Thursday, 05-Nov-2020 23:08:55X'
- 'Thursday, 05-Nov-2020 23:08:55-1100'
- 'Thursday, 05-Nov-2020 23:08:55-11:00'
- 'Thursday, 05-Nov-2020 23:08:55 X'
- 'Thursday, 05-Nov-2020 23:08:55 -1100'
- 'Thursday, 05-Nov-2020 23:08:55 -11:00'
output: '2020-11-05T23:08:55-11:00'
RFC 850 UTC-12:
input:
- 'Saturday, 05-Dec-2020 23:08:55Y'
- 'Saturday, 05-Dec-2020 23:08:55-1200'
- 'Saturday, 05-Dec-2020 23:08:55-12:00'
- 'Saturday, 05-Dec-2020 23:08:55 Y'
- 'Saturday, 05-Dec-2020 23:08:55 -1200'
- 'Saturday, 05-Dec-2020 23:08:55 -12:00'
output: '2020-12-05T23:08:55-12:00'
RFC 850 with various precision:
input:
- 'Thursday, 05-Mar-2020 23:08:00Z'
- 'Thursday, 05-Mar-2020 23:08Z'
- 'Thursday, 05-Mar-2020 23:08:00.0Z'
- 'Thursday, 05-Mar-2020 23:08:00.000000000000Z'
output: '2020-03-05T23:08:00+00:00'
RFC 850 with subseconds:
input:
- 'Thursday, 05-Mar-2020 23:08:00.123456Z'
- 'Thursday, 05-Mar-2020 23:08:00.123456+0000'
- 'Thursday, 05-Mar-2020 23:08:00.123456+00:00'
- 'Thursday, 05-Mar-2020 23:08:00.123456 Z'
- 'Thursday, 05-Mar-2020 23:08:00.123456 +0000'
- 'Thursday, 05-Mar-2020 23:08:00.123456 +00:00'
output: '2020-03-05T23:08:00.123456+00:00'
RFC 850 with no time zone:
input:
- 'Thursday, 05-Mar-2020 23:08:55'
- 'Thursday, 05-Mar-2020 23:08:55-0000'
- 'Thursday, 05-Mar-2020 23:08:55-00:00'
- 'Thursday, 05-Mar-2020 23:08:55J'
- 'Thursday, 05-Mar-2020 23:08:55 -0000'
- 'Thursday, 05-Mar-2020 23:08:55 -00:00'
- 'Thursday, 05-Mar-2020 23:08:55 J'
output: '2020-03-05T23:08:55-00:00'
Loading…
Cancel
Save