Comments (3)
@krlmlr, thanks for taking a look at this. Do you need to shift the width
parameter too?
# with dev pillar and tibble
library(pillar)
library(rlang)
from <- as.POSIXct("14:03:55", format="%H:%M:%OS", tz="UTC")
to <- as.POSIXct("14:04:00", format="%H:%M:%OS", tz="UTC")
options(digits.secs = 4)
ex <- tibble::tibble(datetime = seq(from, to, by = 0.01))
ex$col <- 100000
ex
#> # A tibble: 501 x 2
#> datetime col
#> <dttm> <dbl>
#> 1 2018-01-11 14:03:55.0000 100000
#> 2 2018-01-11 14:03:55.0099 100000
#> 3 2018-01-11 14:03:55.0199 100000
#> 4 2018-01-11 14:03:55.0299 100000
#> 5 2018-01-11 14:03:55.0399 100000
#> 6 2018-01-11 14:03:55.0499 100000
#> 7 2018-01-11 14:03:55.0599 100000
#> 8 2018-01-11 14:03:55.0699 100000
#> 9 2018-01-11 14:03:55.0799 100000
#> 10 2018-01-11 14:03:55.0899 100000
#> # ... with 491 more rows
# This should really be for POSIXt and would need the %||% from rlang
pillar_shaft.POSIXct <- function (x, ...)
{
width <- 19
digits.secs <- getOption("digits.secs") %||% 0
if (digits.secs) {
width <- width + digits.secs + 1L
}
date <- format(x, format = "%Y-%m-%d")
time <- format(x, format = "%H:%M:%OS")
datetime <- paste0(date, " ", style_subtle(time))
datetime[is.na(x)] <- NA
new_pillar_shaft_simple(datetime, width = width, align = "left")
}
ex
#> # A tibble: 501 x 2
#> datetime col
#> <dttm> <dbl>
#> 1 2018-01-11 14:03:55.0000 100000
#> 2 2018-01-11 14:03:55.0099 100000
#> 3 2018-01-11 14:03:55.0199 100000
#> 4 2018-01-11 14:03:55.0299 100000
#> 5 2018-01-11 14:03:55.0399 100000
#> 6 2018-01-11 14:03:55.0499 100000
#> 7 2018-01-11 14:03:55.0599 100000
#> 8 2018-01-11 14:03:55.0699 100000
#> 9 2018-01-11 14:03:55.0799 100000
#> 10 2018-01-11 14:03:55.0899 100000
#> # ... with 491 more rows
Created on 2018-01-11 by the reprex package (v0.1.1.9000).
Rationale for my solution is that it solves three cases:
- User hasn't set the option, should default to
NULL
which is changed to 0 - User has set the option to 0
- User has set the option to >0
from pillar.
@DavisVaughan: Would you mind opening a new issue?
from pillar.
This old thread has been automatically locked. If you think you have found something related to this, please open a new issue and link to this old issue if necessary.
from pillar.
Related Issues (20)
- Feedback regarding column superscripts HOT 15
- Use of `focus` argument causes an error HOT 2
- Very small numbers print as `Inf.e-324` HOT 6
- Should `*` or `i` be used for footer information? HOT 11
- Truncated list-cols don't seem to get grey coloring HOT 2
- pillar_num and logical vectors cause (potential?) issues
- Installation of pillar 1.9.0 in GitHub actions fails HOT 2
- Should time zones be changing datetime formatting?
- Conditional colouring of values in specific columns HOT 2
- Infinite date-time being printed twice
- Why do `new_pillar_shaft()` and `new_pillar_shaft_simple()` default `min_width` to `width`? HOT 1
- FR: don't print seconds in dttm if there is not enough space
- FR: Add a pillar.max_chars option HOT 1
- Modify tbl_df subclass print in a package HOT 2
- Feature request: Option to print both head and tail of tables? HOT 6
- Use pillar to make column titles red HOT 1
- Guidance colorizing values within a column HOT 2
- The output of `glimpse()` is too wide in RStudio Visual Editor mode HOT 6
- Show colour in `glimpse()` HOT 2
- pillar::num type vector is not properly treated by base::sum (with respect to na.rm=TRUE) HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pillar.