Issue #15742 has been updated by nobu (Nobuyoshi Nakada).


akr (Akira Tanaka) wrote:
> I think no-era representation is similar to truncation of ISO 8601:2000.
> "truncation" provides a way to omit higher order component by mutual agreement:
> describe the year 1985 as 85 for example.
> (See Wikipedia https://en.wikipedia.org/wiki/ISO_8601#Truncated_representations )

It reminds me the second parameter to `Time.parse`:
> We can change the date used to infer our missing elements by passing a
> second object that responds to #mon, #day and #year, such as Date, Time
> or DateTime.

> Apart from that, "truncation" is removed at ISO 8601:2004.

Good to know it.

> So, it is reasonable to consider no-era representation as legacy feature.
> (I don't know the future version of JIS X 0301, though.)

Maybe, we should await next JIS X 0301?

> My idea:
> - Document `Date.jisx0301` interpret no-era representation as Heisei.
>   This is appropriate because it is a legacy feature.
>   And this is compatible as current version.
> - Support "R" for Reiwa.
>   I think the initial letter R is almost fixed and no-one lose with it.

Patches updated.


----------------------------------------
Feature #15742: Add Date#jisx0301 support new Japanese era
https://bugs.ruby-lang.org/issues/15742#change-77429

* Author: kaishuu0123 (Koki Oyatsu)
* Status: Feedback
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
## Reproduce process

```
irb(main):002:0> require 'date'
=> true
irb(main):003:0> Date.new(2019, 5, 1).jisx0301
=> "H31.05.01"
```

* ruby version: trunk

## Result of reproduce process

```
irb(main):003:0> Date.new(2019, 5, 1).jisx0301
=> "H31.05.01"
```

## Expected result and the reason why you expect

```
irb(main):002:0> require 'date'
=> true
irb(main):003:0> Date.new(2019, 5, 1).jisx0301
=> "R01.05.01"
```

### reason

* new era (Reiwa?) starts from 2019/05/01
* refs: https://github.com/ruby/ruby/blob/trunk/ext/date/date_core.c#L7049
* I can't be sure that initial letter is "R".



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>