Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Format Date as String #1

Open
samizdam opened this issue Jan 1, 2016 · 5 comments
Open

Format Date as String #1

samizdam opened this issue Jan 1, 2016 · 5 comments

Comments

@samizdam
Copy link
Member

samizdam commented Jan 1, 2016

Add to DataInterface::format(string $format) method, like native php Date::format().
This feature must be implemented as Formatter component, and Date class will be delegated format method to this component.

@samizdam samizdam changed the title Support format for Date Unit Format Date as String Jan 1, 2016
@samizdam samizdam added this to the First major release milestone Jan 1, 2016
@samizdam
Copy link
Member Author

samizdam commented Jan 1, 2016

Предполагаю по возможности поддерживать нативные управляющие символы, ( описанные для http://php.net/manual/en/function.date.php#format ) за исключением временных - т.к. текущая версия AltEra не будет поддерживать времени. Символы отвечащие за время, будут игнорироваться, чтобы было легче добавить поддержку времени в будущем, если захочется, сохранив совместимость.

@RottenWood , надо придумать, какие символы будут управлять отображением "сезонов", т.к. такой фичи в нативном формате даты нет, а "S" уже занята.

@vehsamrak
Copy link
Member

@samizdam E (sEason) ?
Или же если поддерживаются многосимвольные коды то /S, SE или SEASON

@samizdam
Copy link
Member Author

samizdam commented Jan 1, 2016

@RottenWood многосимвольные нативной date не поддерживаются.
Свёл для исследования в табличку поддерживаемые date() и strftime() символы:
https://docs.google.com/spreadsheets/d/1aZUiRUonzoJCgPJYeOhXq20OgJ3fBDPhxMwFiUfQA9Y/edit?usp=sharing
Литера "e" в нижнем занята.
Склоняюсь к символам Q/q - от year quarter - квартал. Соответственно, по аналогии с D/d и M/m:
Q - для тескстового представления
q - для порядкового номера сезона

@vehsamrak
Copy link
Member

@samizdam хорошо придумано! поддерживаю

@samizdam samizdam self-assigned this Jan 1, 2016
@samizdam
Copy link
Member Author

samizdam commented Jan 9, 2016

#4
теперь предстоит отрефакторить код отвечающий за расчёт дат, сейчас это AltEra/src/FreeElephants/AltEra/DateInstantiator/DateInstantiator.php
у него нет внятного интерфейса. Надо будет его продумать, качественно оттестировать. Сейчас расчёт дат работает "на глазок", день месяца не совсем корректно рассчитывается.
После реализации #2 можно будет форматировать недели и их дни.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants