Comments (2)
This came up in the past as:
from go-humanize.
Perhaps it would be good to understand why go only rolls up to the nearest hour. I suppose if we're approximating, we can throw away precision and be fairly loose with what a day is. This seems consistent with the idea of humanization.
Formatting is the hard part here. I suspect we'd want a data-driven language for formatting strings, e.g., one would like to express the example above as:
humanize.Duration("%y %m %w %d %H %M %S", d)
where the variables, e.g. %d
expands into one of three string segments based on cardinality:
0: ""
1: "1 day"
n: n + " days"
The formatting table is fairly straightforward, but space consumption might be slightly tricky. In our case here, we'd want to consume any whitespace around the zero case, as it is effectively a lexical black hole absorbing the space made for time units that aren't relevant for its case.
An optional operator might cause the 0 case to be treated as the n case (or just supply a modified expansion table). This depends on how interesting such a case is.
from go-humanize.
Related Issues (20)
- Bytes returns 32 MB for 31450000 bytes instead of 31 MB HOT 2
- How to convert decimal to million or billion formats? HOT 1
- Force to show decimal in CommafWithDigits HOT 1
- Lost zeros using SIWithDigits with 0 decimals 200.0 becomes "2" HOT 5
- New git tags? HOT 1
- Set github workflow permissions to read only HOT 1
- RFE: Add unit-specific Byte/IByte
- Create a Security Policy
- Hash Pin Dependencies and Dependency Update tool HOT 3
- Incorrect year length HOT 1
- [Feature Request] FormatFloatNoTrailingZero
- Option to elide space between value and units HOT 1
- Option to force sub-whole digits for whole inputs HOT 1
- Comma should be Thousands separator HOT 3
- PluralWord should return singular word with a 0 quantity HOT 3
- Allow to skip trailing spaces in humanize.RelTime
- Tag releases to support go.mod semantic versioning HOT 1
- Added `ComputeBytes` and `ComputeIBytes`
- [Feature Request] Support localization in Time HOT 1
- money notation
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 go-humanize.