@@ -15,37 +15,37 @@ as.IDate.default = function(x, ..., tz = attr(x, "tzone", exact=TRUE)) {
1515}
1616
1717as.IDate.numeric = function (x , origin = " 1970-01-01" , ... ) {
18- nm = names(x ) # Capture names
18+ nm = names(x )
1919 if (origin == " 1970-01-01" ) {
2020 x = as.integer(x )
2121 class(x ) = c(" IDate" , " Date" )
2222 # We used to use structure() here because class(x)<- copied several times in R before v3.1.0
2323 # Since R 3.1.0 improved class()<- and data.table's oldest oldest supported R is now 3.1.0, we can use class<- again
2424 # structure() contains a match() and replace for specials, which we don't need.
2525 # class()<- ensures at least 1 shallow copy as appropriate is returned.
26- if (! is.null(nm )) setattr(x , " names" , nm ) # Restore names
26+ if (! is.null(nm )) setattr(x , " names" , nm )
2727 x
2828 } else {
2929 # only call expensive as.IDate.character if we have to
3030 ans = as.IDate(origin , ... ) + as.integer(x )
31- if (! is.null(nm )) setattr(ans , " names" , nm ) # Restore names
31+ if (! is.null(nm )) setattr(ans , " names" , nm )
3232 ans
3333 }
3434}
3535
3636as.IDate.Date = function (x , ... ) {
37- nm = names(x ) # Capture names
37+ nm = names(x )
3838 x = as.integer(x ) # if already integer, x will be left unchanged as the original input
3939 class(x ) = c(" IDate" , " Date" ) # class()<- will copy if as.integer() did not create, and may not if it did we hope
40- if (! is.null(nm )) setattr(x , " names" , nm ) # Restore names
40+ if (! is.null(nm )) setattr(x , " names" , nm )
4141 x # always return a new object
4242}
4343
4444as.IDate.POSIXct = function (x , tz = attr(x , " tzone" , exact = TRUE ), ... ) {
4545 if (is_utc(tz )) {
4646 ans = as.integer(as.numeric(x ) %/% 86400L )
4747 setattr(ans , " class" , c(" IDate" , " Date" ))
48- setattr(ans , " names" , names(x )) # Restore names
48+ setattr(ans , " names" , names(x ))
4949 ans
5050 } else {
5151 as.IDate(as.Date(x , tz = tz %|| % ' ' , ... ))
0 commit comments