Recent Releases of lubridate
lubridate - Lubridate 1.9.2
BUG FIXES
- #1104 Fix incorrect parsing of months when %a format is present.
OTHER
- Adapt to internal name changes in R-devel
- R
Published by vspinu over 3 years ago
lubridate - Lubridate 1.9.1
NEW FEATURES
as_datetime()accepts multiple formats in format argument, just likeas_date()does.
BUG FIXES
- #1091 Fix formatting of numeric inputs to parsedatetime.
- #1092 Fix regression in
ymd_hmon locales wherepformat is not defined. - #1097 Fix
as_date("character")to work correctly with formats that include extra characters. - #1098 Roll over the month boundary in
make_dateime()when units exceed their maximal values. - #1090 timechange has been moved from Depends to Imports.
- R
Published by vspinu over 3 years ago
lubridate - Lubridate 1.9.0
Version 1.9.0
NEW FEATURES
rollargument to updating and time-zone manipulation functions is deprecated in favor of a newroll_dstparameter.- #1042
as_datewith character inputs accepts multiple formats informatargument. Whenformatis supplied, the input string is parsed withparse_date_timeinstead of the oldstrptime. - #1055 Implement
as.integermethod for Duration, Period and Interval classes. - #1061 Make
year<-,month<-etc. accessors truly generic. In order to make them work with arbitrary class XYZ, it's enough to define areclass_date.XYZmethod. - #1061 Add support for
year<-,month<-etc. accessors fordata.table's IDate and ITime objects. - #1017
week_startargument in all lubridate functions now accepts full and abbreviated names of the days of the week. - The assignment value
wday<-can be a string either in English or as provided by the current locale. - Date rounding functions accept a date-time
unitargument for rounding to a vector of date-times. - #1005
as.durationnow allows for full roundtripduration -> as.character -> as.duration - #911 C parsers treat multiple spaces as one (just like strptime does)
stampgained new argumentexact=FALSEto indicate whetherordersargument is an exact strptime formats string or not.- #1001 Add
%withinmethod with signature (Interval, list), which was documented but not implemented. - #941
format_ISO8601()gained a new optionusetz="Z"to format time zones with a "Z" and convert the time to the UTC time zone. - #931 Usage of
Periodobjects in rounding functions is explicitly documented.
BUG FIXES
- #1036
%within%now correctly works with flipped intervals - #1085
as_datetime()now preserves the time zone of the POSIXt input. - #1072 Names are now handled correctly when combining multiple Period or Interval objects.
- #1003 Correctly handle r and R formats in locales which have no p format
- #1074 Fix concatination of named Period, Interval and Duration vectors.
- #1044 POSIXlt results returned by
fast_strptime()andparse_date_time2()now have a recycledisdstfield. - #1069 Internal code handling the addition of period months and years no longer generates partially recycled POSIXlt objects.
- Fix rounding of POSIXlt objects
- #1007 Internal lubridate formats are no longer propagated to stamp formater.
trainargument inparse_date_timenow takes effect. It was previously ignored.- #1004 Fix
c.POSIXctandc.Dateon empty single POSIXct and Date vectors. - #1013 Fix c(
POSIXct,POSIXlt) heterogeneous concatenation. - #1002 Parsing only with format
jnow works on numeric inputs. stamp()now correctly errors when no formats could be guessed.- Updating a date with timezone (e.g.
tzs = "UTC") now returns a POSIXct.
INTERNALS
lubridateis now relying ontimechangepackage for update and time-zone computation. Google's CCTZ code is no longer part of the package.lubridate's updating logic is now built on top oftimechangepackage.- Change implementation of
c.Period,c.Durationandc.Intervalfrom S4 to S3.
- R
Published by vspinu over 3 years ago
lubridate - Lubridate 1.7.10
Version 1.7.10
NEW FEATURES
fast_strptime()andparse_date_time2()now accept multiple formats and apply them in turn
BUG FIXES
- #926 Fix incorrect division of intervals by months involving leap years
- Fix incorrect skipping of digits during parsing of the
%zformat
- R
Published by vspinu over 5 years ago
lubridate - Lubridate 1.7.9
Version 1.7.9
NEW FEATURES
- ##871 Add
vctrssupport
BUG FIXES
- #890 Correctly compute year in
quarter(..., with_year = TRUE) - #893 Fix incorrect parsing of abbreviated months in locales with trailing dot (regression in v1.7.8)
- #886 Fix
with_tz()for POSIXlt objects - #887 Error on invalid numeric input to
month() - #889 Export new dmonth function
- R
Published by vspinu almost 6 years ago
lubridate - Lubridate 1.7.8
NEW FEATURES
- (breaking) Year and month durations now assume 365.25 days in a year consistently in conversion and constructors. Particularly
dyears(1) == years(1)is nowTRUE. - Format and print methods for 0-length objects are more consistent.
- New duration constructor
dmonths()to complement other duration constructors. * duration()constructor now acceptsmonthsandyearsarguments.- #629 Added
format_ISO8601()methods. - #672 Eliminate all partial argument matches
- #674
as_date()now ignores thetzargument - #675
force_tz(),with_tz(),tz<-convert dates to date-times - #681 New constants
NA_Date_andNA_POSIXct_which parallel built-in primitive constants. - #681 New constructors
Date()andPOSIXct()which parallel built-in primitive constructors. - #695 Durations can now be compared with numeric vectors.
- #707 Constructors return 0-length inputs when called with no arguments
- #713 (breaking)
as_datetime()always returns aPOSIXct() - #717 Common generics are now defined in
genericsdependency package. - #719 Negative Durations are now displayed with leading
-. - #829
%within%throws more meaningful messages when applied on unsupported classes - #831 Changing hour, minute or second of Date object now yields POSIXct.
- #869 Propagate NAs to all internal components of a Period object
BUG FIXES
- #682 Fix quarter extraction with small
fiscal_starts. - #703
leap_year()works with objects supported byyear(). - #778
duration()/period()/make_difftime()work with repeated units c.Periodconcatenation doesn't fail with empty components.- Honor
exact = TRUEargument inparse_date_time2, which was so far ignored.
- R
Published by vspinu about 6 years ago
lubridate - Lubridate 1.7.4
NEW FEATURES
- #658
%within%now accepts a list of intervals, in which case an instant is checked if it occurs within any of the supplied intervals.
CHANGES
- #661 Throw an error on invalid multi-unit rounding.
- #633
%%on intervals relies on%m+arithmetic and doesn't produce NAs when intermediate computations result in non-existent dates. tz()always returns "UTC" whentzoneattribute cannot be inferred.
BUG FIXES
- R
Published by vspinu about 8 years ago
lubridate - Lubridate 1.7.2
NEW FEATURES
- Durations, Periods and difftimes are now comparable with each other.
intervalconstructor accepts start and end character vectors in ISO 8601 format- #362 Add support for ISO 8601 formats in interval constructor
- #622 Add support for ISO 8601 formats in periods and durations constructor
CHANGES
- Correct license to the originally intended GPL (>= 2)
BUG FIXES
- #605 Fix wrong ceiling of days during DST transition.
- #607 Re-instate
formatargument toas_dateandas_datetime(regression in v1.7.1) - Fix intersection of intervals with missing values.
- Fix UBSAN errors in update.cpp
- R
Published by vspinu over 8 years ago
lubridate - Lubridate 1.7.0
NEW FEATURES
- #438 New function
force_tzsfor "enforcement" of heterogeneous time zones. - #438 New function
local_timefor the retrieval of local day time in different time zones. - #560 New argument
cutoff_2000for parsing functions to indicate 20th century cutoff foryformat. - #257 New
week_startparameter inwdayandwday<-to set week start. - #401 New parameter
localeinwday. Labels of the returned factors (whenlabel=TRUE) now respect current locale. - #508 New parameter
localeinmonth. Labels of the returned factors (whenlabel=TRUE) now respect current locale. - #485
quartergained a new argumentfiscal_startto address the issue of different fiscal conventions. - #492 New functions
epiweekandepiyear. - #509 New parameter
week_starttofloor_date,ceiling_dateandround_date. - #519 Support fractional units in duration and period string constructors.
- #502 Support rounding to fractions of a seconds.
- #529 Internal parser now ignores the case of alpha months (B format)
- #535 Rounding to
seasonis now supported. - #536
as_dateandas_datetimenow understand character vectors. - New parsing parameters to
parse_date_time-train=TRUEanddrop=FALSEwhich allow more refined control of the format guessing. Formats are no longer dropped in the process by default, process which resulted in surprising behavior on several occasions (#516,#308,#307).
CHANGES
- #401 [Breaking Change] Labels returned by
wdayandmonthare now in current locale. The abbreviated labels in English locales have been changed to standard abbreviations (Tues -> Tue, Thurs -> Thu etc.). - #469 Throw warning in
with_tzon invalid timezone. - #572
Bandbformats no longer match numeric months. This corresponds to the original intent, and was always documented as such.
BUG FIXES
- #314, #407, #499 Make
days,dhours,round_datework when the methods package is not loaded. - #543 Make
wdaywork on character inputs as it is the case with all other day accessors. - #566 Comparing durations and periods no-longer infloops.
- #556 Fix incorrect scoring of
yformat when it's the last in format order (as inmdy). - #584 Fix interval by period division.
- #559 Parsing of alpha-months in English locales now drops correctly to low level C parsing. Thus, parsing with multiple orders containing
mandbformats now works correctly. - #570, #574 Fix broken
date()when called with missing argument. - #567 Fix year update and rounding for leap years.
- #545 Fix wrong locale selection in stamp.
- #466 Fix wrong formats within ymd_h family of functions.
- #472 Printing method for duration doesn't throw format error on fractional seconds.
- #475 character<> comparisons is no longer slow.
- #483 Fix adddurationto_date error when duration first element is NA.
- #486 ceiling_date handles
NAproperly. - #491
make_datetimerespectstzargument and is much faster now. - #507 Period and duration parsers now understand 0 units.
- #524 Correctly compute length of period in months (issue #490)
- #525 Fix to prevent
day<-,minute<-, etc. from producing an error when length(x) is 0 (issue #517) - #530
parse_date_timenow throw warnings only for actual parsing errors (input with all NAs are silent) - #534 Fix arithmetics with large numbers
- #554 Fix tests when running in non-English locales
- R
Published by vspinu over 8 years ago
lubridate - Lubridate 1.6.0
NEW FEATURES
- #464 New function
semesterto extract semesters form date-time objects. - #459 Flexible C-level parsing for periods and durrations has been implemented;
periodanddurationconstructors now accept string as first argument. Same parsing rules apply to the 'unit' parameter in rounding functions. - #459 Comparison between character vectors and periods/durations is now possible.
- #287 C-level and derivative parsers now handle English months (%b and %B formats) irrespective of the current locale.
- #327 C-level and derivative parsers now handles English AM/PM indicator irrespective of the current locale.
- #417
hms,hm,msgained new argumentroll=TRUEwhich rolls minutes and seconds bigger than 59 towards higher units. - #445 Division of intervals by periods is now accurate.
- #442
round_date,floor_dateandceiling_datenow support rounding to multiple of units. - #422 New parsing function
yqfor parsing most common version of quarter strings. - #422 New format
qfor parsing quarters in all lubridate parsing functions. - #441 Comparison between POSIXt and Date objects is now possible.
- #437 New function
as_datetimeto coerce to POSIXct object. A counterpart ofas_date. - #412 New function
make_dateto produce Date objects. A counterpart ofmake_datetime. - #443 Behavior of
ceiling_dateforDateobjects was changed to what most of the users expect. Rounding up by months now produces first day of the next months even for first day of the month. - #268
round_date,ceiling_date, andfloor_datenow accept "quarter", "bimonth", and "halfyear" asunitoptions. - #418 C level parsing functions understand 24:00:00 in datetime strings.
CHANGES
- Low letter specs for HMS (hms,hm,ms) in
parse_date_timeand related functions are now deprecated. - #445 No more warning on occasional imprecise period length conversions. Imprecise arithmetics with periods is extensively documented.
pretty.*family of functions were renamed and are no longer exported. If you need to use them, uselubridate:::pretty_*versions.change_on_boundaryargument inceiling_datedoes not allow for global option anymore.as.duration,as.numericdon't show "only estimate" messages on conversion from periods. The occasional approximate conversion is documented and deemed common knowledge.as.numericwithunit="month"now works on duration objects.- #403 Update on
Dateobjects now returnPOSIXctinstead ofPOSIXlt. - #411 format
mdyormydbeginning with"January"or"Jan"now parsing correctly hereandolson_time_zoneswere deprecated in favor ofnewand baseOlsonNamesrespectively.- Internally, S4 Compare and Ops generics were cleaned and simplified.
- #456 Evaluation output in documentation examples was removed.
BUG FIXES
- #463 Fix NA subscripting error in %m+% when rollback is involved.
- #462 Non-numeric or non-character arguments are disallowed as arguments to
periodanddurationconstructors. - #458 When year is missing in parsing, return consistently year 0.
- #448 Correctly handle missing months and days in C parser.
- #450 Fix incorrect handling of DST gaps in
date_decimalanddecimal_date. - #420
as.numericcorrectly converts periods to (approximate) numeric time lengths.
- R
Published by vspinu over 9 years ago
lubridate - Lubridate 1.5.6
NEW FEATURES
- #390
ceiling_dategains new argumentchange_on_boundaryto allow ceiling on boundary of date-time objects. - C parser can now produce a list of date-time components suitable for POSIXlt constructors.
parse_date_time2andfast_strptimegain newltargument to control type of output.- #373 New
dateanddate<-additions to theyear,monthetc family of accessors. - #365 New very fast datetime constructor
make_datetime(dropin replacement ofISOdatetime). - #344
force_tzandwith_tzcan handle data.frames component-wise. - #355 New
as_datereplacement ofas.Datewith more intuitive behavior with non-UTC timezones. - #333
hmsparsers now handle negative components.
CHANGES
- #391
ymdfamily of functions returnDateobject whentzargument is NULL (new default) and POSIXct otherwise. - #364 Remove epoch functions.
- For consistency with
base:strptimefast_strptimenow returnsPOSIXltobject. That is, itsltargument defaults toTRUE.
BUG FIXES
intervalconstructor treats timezones correctly and works with UTC whenever meaningful.- #371
as.periodcorrectly computes months with intervals spanning multiple years. - #388
time_lengthandadd_with_rollbacknow work correctly with missing intervals. - #394
fast_strptimeandparse_date_time2correctly treat non-UTC time zones. - #399
floor_dateandround_dateare not preserving tz component for larger than day units
- R
Published by vspinu about 10 years ago
lubridate - Lubridate 1.5.0
This is a extensive bug fix release with no major known bugs left. The lubridate package should be now faster, more stable and more user friendly.
There are two notable changes to the UI. First, new_zzz style constructors, such as new_interval, new_period etc., were absorbed by interval, period etc. constructors without affecting the flexibility or backward compatibility. Second, new argument exact to parse_date_time allows direct specification of the formats and thus avoids guessing and training of the formats behind the scene.
NEW FEATURES
- New
time_lengthmethod. - Added
isoyearfunction to line up withisoweek. - #326 Added
exact = TRUEoption toparse_date_timefor faster and much more flexible specification of formats. - New
simpleargument tofit_to_timelineandupdatemethods mostly intended for internal use. - #315 implement
uniquemethod forintervalclass - #295 New args
preserve_hmsandroll_to_firstinrollbackfunction. - #303 New
quarteroption infloor_dateand friends. - #348 New
as.list.IntervalS3 method. - #278 Added settors and accessors for
qday(quarter day).
CHANGES
- New maintainer Vitalie Spinu (@vspinu)
- Time span constructors were re-factored;
new_interval,new_period,new_duration,new_difftimewere deprecated in favour of the more powerfulinterval,period,durationandmake_difftimefunctions. eseconds,eminutesetc. were deprecated in favour ofdsecons,dminutesetc.- Many documentation improvements.
- New testthat conventions are adopted. Tests are now in
test/testthat. - Internally
isodatewas replaced with a much fasterparse_date_time2(paste(...))alternative - #325
Lubridate'strunc,ceilingandfloorfunctions have been optimised and now are relying on R'strunc.POSIXctwhenever possible. - #285 Algebraic computations with negative periods are behaving asymmetrically with respect to their positive counterparts.
- Made necessary changes to accommodate new zoo-based
fstobjects.
BUG FIXES
- #360 Fix c parser for Z (zulu) indicator.
- #322 Explicitly encode formatted string with
enc2utf8. - #302 Allow parsing long numbers such as 20140911000000 as date+time
- #349 Fix broken interval -> period conversion.
- #336 Fix broken interval-> period conversion with negative diffs.
- #227 Treat "days" and "years" units specially for pretty.point.
- #286 %m+-% correctly handles dHMS period components.
- #323 Implement coercion methods for Duration class.
- #226 Propagate NAs in
int_standardize - #235 Fix integer division with months and years.
- #240 Make
ceiling_dateskip day light gap. - #254 Don't preprocess a/A formats if expressly specified by the user.
- #289 Check for valid day-months combinations in C parser.
- #306 When needed double guess with
preproc_wday=T. - #308 Document sparce format guessing in
parse_date_time. - #313 Fixed and optimized
fit_to_timelinefunction. - #311 Always use UTC in
isoweekcomputation - #294 Don't use years in
seconds_to_period. - Values on
$<-assignment for periods are now properly recycled. - Correctly handle NA subscripting in
round_date.
- R
Published by vspinu over 10 years ago
lubridate - Lubridate 1.4.0
CHANGES
BUG FIXES
- #266 Include
time-zones.Rincoercion.R. - #251 Correct computation of weeks.
- #262 Document that month boundary is the first second of the month.
- #270 Add check for empty unit names in
standardise_lt_names. - #276 Perform conversion in
as.period.periodifunit != NULL. - #284 Compute periods in
as.period.intervalwithout recurring to modulo arithmetic. - #272 Update examples for
hms,hmandmsfor new printing style. - #236 Don't allow zeros in month and day during parsing.
- #247 Uninitialized index was mistakenly used in subseting.
- #229
guess_formatsnow matches flex regexp first. dmillisecondsnow correctly returns aDurationobject.- Fixed setdiff for discontinuous intervals.
- R
Published by vspinu over 10 years ago