Project

General

Profile

Actions

Feature #8181

closed

New flag for strftime that supports adding ordinal suffixes to numbers

Added by tkellen (Tyler Kellen) over 11 years ago. Updated over 11 years ago.

Status:
Rejected
Assignee:
-
Target version:
[ruby-core:53808]

Description

This is my first issue on the ruby tracker--hopefully I'm asking in the right place?

It would be nice if you could use strftime to generate dates with ordinal suffixes. I propose the addition of another flag to support this: the @ character.

The intended usage would be:

Date.parse('2013-03-01').strftime('%B %@d, %Y')
=> "March 1st, 2013"
Date.parse('2013-03-02').strftime('%B %@d, %Y')
=> "March 2nd, 2013"
Date.parse('2013-03-03').strftime('%B %@d, %Y')
=> "March 3rd, 2013"

...etc

Assuming this would be accepted, I'd be happy to implement the feature. Could someone tell me how to proceed?

Updated by zzak (zzak _) over 11 years ago

ActiveSupport has ordinalize, maybe you want to use that instead.

Updated by naruse (Yui NARUSE) over 11 years ago

  • Status changed from Open to Rejected

At least, it is not the function of strftime.

Updated by tkellen (Tyler Kellen) over 11 years ago

zzak (Zachary Scott) wrote:

ActiveSupport has ordinalize, maybe you want to use that instead.

-∞ for ActiveSupport.

I don't need or want to require that giant for this simple feature. I can (and have) written a simple ordinalize method which I am currently using.

That said, I think that this:
Time.new.strftime("%a %b %@d")

...is pretty unambigously better than:
require 'activesupport'
time = Time.new
time.strftime("%a %b #{time.day.ordinalize}")

strftime currently supports several flags for formatting the time output, why not this one?

Updated by naruse (Yui NARUSE) over 11 years ago

tkellen (Tyler Kellen) wrote:

strftime currently supports several flags for formatting the time output, why not this one?

Ruby's strftime is derived from a C function standardized by ISO C90/POSIX/SUV.
So it must be careful with adding minor specifier.
see also http://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html

Updated by duerst (Martin Dürst) over 11 years ago

On 2013/04/12 9:07, tkellen (Tyler Kellen) wrote:

-∞ for ActiveSupport.

I don't need or want to require that giant for this simple feature. I can (and have) written a simple ordinalize method which I am currently using.

Does your method support any languages other than English? If not, I'm
not sure it's suitable for inclusion into Ruby. If yes, I don't think it
will be that simple.

[From http://apidock.com/rails/ActiveSupport/Inflector/ordinalize, I
gather that Ruby on Rails doesn't support languages other than English,
either.]

Regards, Martin.


Feature #8181: New flag for strftime that supports adding ordinal suffixes to numbers
https://bugs.ruby-lang.org/issues/8181#change-38478

Updated by tkellen (Tyler Kellen) over 11 years ago

duerst (Martin Dürst) wrote:

On 2013/04/12 9:07, tkellen (Tyler Kellen) wrote:

-∞ for ActiveSupport.

I don't need or want to require that giant for this simple feature. I can (and have) written a simple ordinalize method which I am currently using.

Does your method support any languages other than English? If not, I'm
not sure it's suitable for inclusion into Ruby. If yes, I don't think it
will be that simple.

[From http://apidock.com/rails/ActiveSupport/Inflector/ordinalize, I
gather that Ruby on Rails doesn't support languages other than English,
either.]

Regards, Martin.


Feature #8181: New flag for strftime that supports adding ordinal suffixes to numbers
https://bugs.ruby-lang.org/issues/8181#change-38478

Does strftime support AM/PM for different languages?

Updated by tkellen (Tyler Kellen) over 11 years ago

naruse (Yui NARUSE) wrote:

tkellen (Tyler Kellen) wrote:

strftime currently supports several flags for formatting the time output, why not this one?

Ruby's strftime is derived from a C function standardized by ISO C90/POSIX/SUV.
So it must be careful with adding minor specifier.
see also http://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html

Thanks naruse, I did not know that. Could you explain what you mean by being careful?

Updated by naruse (Yui NARUSE) over 11 years ago

tkellen (Tyler Kellen) wrote:

naruse (Yui NARUSE) wrote:

tkellen (Tyler Kellen) wrote:

strftime currently supports several flags for formatting the time output, why not this one?

Ruby's strftime is derived from a C function standardized by ISO C90/POSIX/SUV.
So it must be careful with adding minor specifier.
see also http://pubs.opengroup.org/onlinepubs/9699919799/functions/strftime.html

Thanks naruse, I did not know that. Could you explain what you mean by being careful?

If we add for example %@d, and then C standards add %@d as another meaning, it's a pity thing.

Therefore if you can add your extension into C standards, we can add it.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0