From dcc0478089f5fde72426d94810bed6430df73a34 Mon Sep 17 00:00:00 2001 From: Tomas Cohen Arazi Date: Thu, 24 Jan 2019 14:29:09 -0300 Subject: [PATCH] Bug 19816: Implement dateonly for rfc3339 format This patch implements the dateonly option for the rfc3339. This is described in the OpenAPI 2.0 specification [1]. The required output format is described on RFC 3339 [2], as 'full-date'. [1] https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#dataTypeFormat [2] https://tools.ietf.org/html/rfc3339#section-5.6 To test: - Apply the regression tests patch - Run: k$ prove t/DateUtils.t => FAIL: Tests fail because dateonly is not implemented - Apply this patch - Run: k$ prove t/DateUtils.t => SUCCESS: Tests pass! - Sign off :-D Signed-off-by: Josef Moravec Signed-off-by: Martin Renvoize Signed-off-by: Nick Clemens (cherry picked from commit b2dce05ddff8a047e7770ea241b1edd9b798212e) Signed-off-by: Martin Renvoize --- Koha/DateUtils.pm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/Koha/DateUtils.pm b/Koha/DateUtils.pm index 2b8ee8b5a2..459a5a89d7 100644 --- a/Koha/DateUtils.pm +++ b/Koha/DateUtils.pm @@ -254,8 +254,13 @@ sub output_pref { : $dt->strftime("%Y-%m-%d $time"); } elsif ( $pref =~ m/^rfc3339/ ) { - $date = $dt->strftime('%FT%T%z'); - substr($date, -2, 0, ':'); # timezone "HHmm" => "HH:mm" + if (!$dateonly) { + $date = $dt->strftime('%FT%T%z'); + substr($date, -2, 0, ':'); # timezone "HHmm" => "HH:mm" + } + else { + $date = $dt->strftime("%Y-%m-%d"); + } } elsif ( $pref =~ m/^metric/ ) { $date = $dateonly -- 2.39.5