News
Version 0.3.10 (2024-12-02)
A new documentation site was added.
Continuous Integration now uses
run.sh
fromr-ci
withbspm
Logical input vectors are now recognised as an error (#121)
Additional dot-separated format '
Other small updates were made throughout the package
No longer set a C++ compilation standard as the default choices by R are sufficient for the package
Switch Rcpp include file to Rcpp/Lightest
We recommend
~/.R/Makevars
compiler flag options-Wno-ignored-attributes -Wno-nonnull -Wno-parentheses
The
tinytest
runner was simplifiedNA
values from conversion now trigger a warning
Version 0.3.9 (2020-08-26)
Skip one test file that is impossible to run across different CRAN setups, and life is definitely too short for these games.
Change remaining http:// to https:// because, well, you know.
Version 0.3.8 (2020-07-23)
A small utility function was added to detect the Linux distribution used in order to fine-tune tests once more.
Travis now uses Ubuntu 'bionic' and R 4.0.*.
Version 0.3.7 (2020-01-20)
Test and possibly condition away one more test file.
Small enhancement for compilation by setting
no-rtti
define via Rcpp.New option
calcUnique
for speed-up by parseing only unique timestamps (Stephen Froehlich in #110 fixing #109).
Version 0.3.6 (2019-08-29)
Added, and then removed, required file for JOSS; added 'unworthy' badge as we earned a desk reject (cf #1605 there).
Renamed internal helper function format() to fmt() to avoid clashes with base::format() (Dirk in #104).
Use S3 dispatch and generics for key functions (Dirk in #106).
Continued to tweak tests as we find some of the rhub platform to behave strangely (Dirk via commits, #107, and #108).
Added
%e
format for single-digit day parsing by Boost (Dirk addressing at least #24, #70 and #99).Expansed and updated vignette with benchmark comparisons.
Updated unit tests using
tinytest
which remains a pleasure to use; versioned Suggests: is now '>= 1.0.0'.
Version 0.3.5 (2019-07-28)
Fix use of
Rcpp::Function
-accessedSys.setenv()
, name all arguments in call to C++ (Christoph Sax in #95).Relax constraint on Windows testing in several test files (Christoph Sax in #97).
Fix an issue related to
TZ
environment variable setting (Dirk in #101).Change
useR=TRUE
behaviour by directly calling R viaRcpp
(Dirk in #103 fixing #96).Several updates to unit testing files aiming for more robust behaviour across platforms.
Updated documentation in manual pages, README and vignette.
Version 0.3.4 (2019-06-18)
Documentation was updated about a 'Europe/London' conversion issue (#84, inter alia).
The package is now compiled under the C++11 standard.
The package now uses
tinytest
for unit tests.The
iso8601()
function now places a ‘T’ between date and time; an option switches to prior format using a space.The vignette is now pre-made and included as-is in a Sweave document reducing the number of suggested packages.
Version 0.3.3 (2018-11-13)
Vignette build quirkyness on Windows resolved so vignette reinstated.
Documentation updated showing correct use of
anydate
(and notanytime
) on input like ‘2016010’ following the 0.3.0 release heuristic change.Set
#define
for Boost to make compilation more quiet.
Version 0.3.2 (2018-11-05)
Added a new vignette introducing the
anytime
package. Seemingly it cannot be compiled on Windows so included prebuilt.Some more tests for
anydate
were added along with so code coverage tags.The C++ code was robustified in two places to not trigger
rchk
warnings (#79).Three unit test files which fail on Solaris are now skipping this os as we cannot reproduce or test on this OS (#80).
Version 0.3.1 (2018-07-03)
Numeric input is now preserved rather than silently cast to the return object type (#69 fixing #68).
New assertion function
assertDate()
andassertTime()
.Unit tests were expanded for the new functions, for conversion from integer as well as for
yyyymmdd()
.
Version 0.3.0 (2017-06-05)
Numeric input is now always an offset to epoch, with
anytime()
using seconds, andanydate()
using dates. (#65 fixing #63).Old behaviour can be re-enabled with an option also supporting a global setting
getOption("anytimeOldHeuristic")
RStudio versions 1.1.129 or later can run all functions without fear of crashing due to a change in their use of Boost.
Replaced
init.c
with registration code inside ofRcppExports.cpp
thanks to Rcpp 0.12.11.
Version 0.2.2 (2017-03-21)
Address corner case of integer-typed (large) values corresponding to
POSIXct
time (PR #57 closing ##56)Add special case for ‘Europe/London’ and 31 Oct 1971 BST change to avoid a one-hour offset error (#58 fixing #36 and #51)
Address another corner case of numeric values corresponding to
Date
types which are now returned asDate
Added file
init.c
with calls toR_registerRoutines()
and R_useDynamicSymbols()
; already used.registration=TRUE
inuseDynLib
inNAMESPACE
Version 0.2.1 (2017-02-09)
The new
DatetimeVector
class from Rcpp is now used, and proper versioned Depends: have been added (PR #43)The
anydate
andutcdate
functions convert again from factor and ordered (PR #46 closing #44)A format similar to RFC 28122 but with additonal timezone text can now be parsed (PR #48 closing #47)
Conversion from
POSIXt
toDate
now also respect the timezone (PR #50 closing #49)The internal
.onLoad
functions was updatedThe Travis setup uses https to fetch the run script
Version 0.2.0 (2016-12-24)
Added (exported) helper functions iso8601(), rfc2822() and rfc3339() to format date(time) objects according to standards
Conversion to dates is now more robust thanks to improved internal processing (PR #39 closing #36)
The ISO 8601 format is now recognised, however the timezone information is not parsed by Boost Date_Time (which is a known upstream limitation) (PR #38 closing #37)
The 'allFormats.R' test script was significantly strengthened (#40)
Test scripts like 'simpleTests.R' have as also been strengthened (#41); on Windows and in one file two tests need to be skipped.
A new 'bulkTest.R' test script was added testing parsing against what R returns
Version 0.1.2 (2016-12-13)
The (internal) string processing and splitting now uses Boost algorithm functions which avoids a (bizarre) bug on Windows. (#33)
Test coverage was increased.
Version 0.1.1 (2016-11-27)
Both
anydate()
andutcdate()
no longer attempt to convert an input value that is already of typeDate
.The string splitter (needed for the 'all-digits' formats extending Boost Date_time) is now more defensive about the input argument and more robust. Thanks to Bob Jansen for the heads-up (PR #30 closing issue #29).
Code coverage reporting has been added (PR #31).
Version 0.1.0 (2016-11-06)
New functions
utctime()
andutcdate()
were added to parse input as coordinated universal time; the functionality is also available inanytime()
andanydate()
via a new argumentasUTC
(PR #22)New (date)time format for RFC822-alike dates, and expanded existing datetime formats to all support fractional seconds (PR #21)
Extended functionality to support not only ‘YYYYMMDD’ (without a separator, and not covered by Boost) but also with ‘HHMM’, ‘HHMMSS’ and ‘HHMMSS.ffffff’ (PR #30 fixing issue #29)
Extended functionality to support ‘HHMMSS[.ffffff]’ following other date formats.
Documentation and tests have been expanded; typos corrected
New (unexported) helper functions
setTZ
,testOutput
,setDebug
The
testFormat
(andtestOutput
) functions cannot be called under RStudio (PR #27 fixing issue #25).More robust support for non-finite values such as
NA
,NaN
orInf
(Fixing issue #16)
Version 0.0.4 (2016-10-20)
Before converting via
lexical_cast
, assign to atomic type via template logic to avoid an UBSAN issue (PR #15 closing issue #14)More robust initialization and timezone information gathering.
More robust processing of non-finite input also coping with non-finite values such as
NA
,NaN
andInf
which all returnNA
Allow numeric
POSIXt
representation on input, also creating properPOSIXct
(or, if requested,Date
)
Version 0.0.3 (2016-10-13)
Added (non-exported) helper function
testFormat()
Do not access
tm_isdst
on Windows for dates before the epoch (pull request #13 fixing issue #12); added test as well
Version 0.0.2 (2016-09-15)
Refactored to use a simple class wrapped around two vector with (string) formats and locales; this allow for adding formats; also adds accessor for formats (#4, closes #1 and #3).
New function
addFormats()
andgetFormats()
.Relaxed one tests which showed problems on some platforms.
Added
as.POSIXlt()
step toanydate()
ensuring allPOSIXlt
components are set (#6 fixing #5).
Version 0.0.1 (2016-09-12)
Initial release with
anytime()
andanydate