Content deleted Content added
→Alignment: new section |
→ISO 8601 date format: Patch. |
||
Line 277:
*Hi Dedalus, I am not longer maintaining since 200?, but it should be a straightforward patch. You can either submit a patch yourself or file a bug for it. Cheers, [[User:Erik Zachte|Erik Zachte]] ([[User talk:Erik Zachte|talk]]) 17:35, 29 September 2014 (UTC)
:: Here it is:
{{collapse top|Patch}}
<syntaxhighlight lang="diff">
--- EasyTimeline.pl.orig 2014-11-07 19:49:49.000000000 +0100
+++ EasyTimeline.pl 2014-11-08 14:50:42.000000000 +0100
@@ -1076,11 +1076,13 @@
$datevalue = lc($datevalue);
if ( ($datevalue ne "dd/mm/yyyy")
&& ($datevalue ne "mm/dd/yyyy")
+ && ($datevalue ne "yyyy-mm-dd")
&& ($datevalue ne "yyyy")
&& ($datevalue ne "x.y"))
{
&Error(
- "Invalid DateFormat. Specify as 'dd/mm/yyyy', 'mm/dd/yyyy', 'yyyy' or 'x.y'\n"
+ "Invalid DateFormat. Specify as 'dd/mm/yyyy', 'mm/dd/yyyy', 'yyyy-mm-dd',\n"
+ . " 'yyyy' or 'x.y'\n"
. " (use first two only for years >= 1800)\n");
return;
}
@@ -1611,15 +1613,23 @@
}
}
else {
+ my $year;
+
if ( ($attrvalue =~ /^\d+$/)
&& ($attrvalue >= 1800)
&& ($attrvalue <= 2030))
{
if ($attribute =~ /^From$/i) {
- $attrvalue = "01/01/" . $attrvalue;
+ if ($DateFormat eq "yyyy-mm-dd") {
+ $attrvalue .= "-01-01";
+ }
+ else { $attrvalue = "01/01/" . $attrvalue; }
}
if ($attribute =~ /^Till$/i) {
- if ($DateFormat eq "dd/mm/yyyy") {
+ if ($DateFormat eq "yyyy-mm-dd") {
+ $attrvalue .= "-12-31";
+ }
+ elsif ($DateFormat eq "dd/mm/yyyy") {
$attrvalue = "31/12/" . $attrvalue;
}
else { $attrvalue = "12/31/" . $attrvalue; }
@@ -1632,7 +1642,11 @@
);
return;
}
- if (substr($attrvalue, 6, 4) < 1800) {
+ if ($DateFormat eq "yyyy-mm-dd") {
+ $year = substr($attrvalue, 0, 4);
+ }
+ else { $year = substr($attrvalue, 6, 4); }
+ if ($year < 1800) {
&Error(
"Period attribute '$attribute' invalid. Specify year >= 1800."
);
@@ -2524,13 +2538,17 @@
}
if ( ($DateFormat eq "dd/mm/yyyy")
- || ($DateFormat eq "mm/dd/yyyy"))
+ || ($DateFormat eq "mm/dd/yyyy")
+ || ($DateFormat eq "yyyy-mm-dd"))
{
if ( ($attrvalue =~ /^\d+$/)
&& ($attrvalue >= 1800)
&& ($attrvalue <= 2030))
{
- $attrvalue = "01/01/" . $attrvalue;
+ if ($DateFormat eq "yyyy-mm-dd") {
+ $attrvalue .= "-01-01";
+ }
+ else { $attrvalue = "01/01/" . $attrvalue; }
}
}
@@ -4300,7 +4318,8 @@
}
else { $script .= " stubs: none\n"; }
- if ($DateFormat !~ /\//) {
+ if ( ($DateFormat eq "yyyy")
+ || ($DateFormat eq "x.y")) {
$script .= " ticincrement: " . $Scales{"$scale inc"} . "\n";
}
else {
@@ -4530,17 +4549,25 @@
return ($true);
}
- if (!($date =~ /^\d\d\/\d\d\/\d\d\d\d$/)) { return ($false); }
-
- if ($DateFormat eq "dd/mm/yyyy") {
- $day = substr($date, 0, 2);
- $month = substr($date, 3, 2);
- $year = substr($date, 6, 4);
+ if ($DateFormat eq "yyyy-mm-dd") {
+ if (!($date =~ /^\d\d\d\d-\d\d-\d\d$/)) { return ($false); }
+ $day = substr($date, 8, 2);
+ $month = substr($date, 5, 2);
+ $year = substr($date, 0, 4);
}
else {
- $day = substr($date, 3, 2);
- $month = substr($date, 0, 2);
- $year = substr($date, 6, 4);
+ if (!($date =~ /^\d\d\/\d\d\/\d\d\d\d$/)) { return ($false); }
+
+ if ($DateFormat eq "dd/mm/yyyy") {
+ $day = substr($date, 0, 2);
+ $month = substr($date, 3, 2);
+ $year = substr($date, 6, 4);
+ }
+ else {
+ $day = substr($date, 3, 2);
+ $month = substr($date, 0, 2);
+ $year = substr($date, 6, 4);
+ }
}
if ($month =~ /^(?:01|03|05|07|08|10|12)$/) {
@@ -4573,6 +4600,17 @@
return ($true);
}
+ if ($DateFormat eq "yyyy-mm-dd") {
+ $day = substr($date, 8, 2);
+ $month = substr($date, 5, 2);
+ $year = substr($date, 0, 4);
+ $dayf = substr($from, 8, 2);
+ $monthf = substr($from, 5, 2);
+ $yearf = substr($from, 0, 4);
+ $dayt = substr($till, 8, 2);
+ $montht = substr($till, 5, 2);
+ $yeart = substr($till, 0, 4);
+ }
if ($DateFormat eq "dd/mm/yyyy") {
$day = substr($date, 0, 2);
$month = substr($date, 3, 2);
@@ -4641,7 +4679,12 @@
my @mmm = (31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31);
my ($day, $month, $year);
my $date = shift;
- if ($DateFormat eq "dd/mm/yyyy") {
+ if ($DateFormat eq "yyyy-mm-dd") {
+ $day = substr($date, 8, 2);
+ $month = substr($date, 5, 2);
+ $year = substr($date, 0, 4);
+ }
+ elsif ($DateFormat eq "dd/mm/yyyy") {
$day = substr($date, 0, 2);
$month = substr($date, 3, 2);
$year = substr($date, 6, 4);
@@ -4706,7 +4749,10 @@
$month++;
my $date;
- if ($DateFormat eq "dd/mm/yyyy") {
+ if ($DateFormat eq "yyyy-mm-dd") {
+ $date = sprintf("%04d-%02d-%02d", $year, $month, $day);
+ }
+ elsif ($DateFormat eq "dd/mm/yyyy") {
$date = sprintf("%02d/%02d/%04d", $day, $month, $year);
}
else { $date = sprintf("%02d/%02d/%04d", $month, $day, $year); }
</syntaxhighlight>
{{collapse bottom}}
:: [[Special:Contributions/84.127.115.190|84.127.115.190]] ([[User talk:84.127.115.190|talk]]) 14:12, 8 November 2014 (UTC)
== Alignment ==
|