Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
 Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
как пример - есть в базе поле дата (на самом деле дататайм)
есть клиент, клиент - чудной. находится в России, но любит англицкий -использует англицкий хром.
как отобразить ему дату?
locale = navigator.browserLanguage || navigator.language || navigator.userLanguage;

говорит, что у него локаль en-US но, раз клиент чудной, любит локаль ru-RU
хотя этого не понимает - вводит дату dd.mm.yy. ну и хочет так видеть.

технически преобразовать не проблема и на сервере и на клиенте.
вопрос как это сделать? административно? заставить при регистрации выбирать ввод/отображение даты?
8 окт 19, 17:32    [21989709]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
вадя,
Можно по типу выбора языка. Видел флаги стран вверху в уголке?
8 окт 19, 17:40    [21989717]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
PetroNotC Sharp
Можно по типу выбора языка. Видел флаги стран вверху в уголке?
как вариант.
но это, как правило, говорит о том какой язык страницы выбрать. т.е. получается не совсем логично. но принято как вариант.
8 окт 19, 17:45    [21989722]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
andreykaT
Member

Откуда:
Сообщений: 2421
вадя
как пример - есть в базе поле дата (на самом деле дататайм)
есть клиент, клиент - чудной. находится в России, но любит англицкий -использует англицкий хром.
как отобразить ему дату?
locale = navigator.browserLanguage || navigator.language || navigator.userLanguage;

говорит, что у него локаль en-US но, раз клиент чудной, любит локаль ru-RU
хотя этого не понимает - вводит дату dd.mm.yy. ну и хочет так видеть.

технически преобразовать не проблема и на сервере и на клиенте.
вопрос как это сделать? административно? заставить при регистрации выбирать ввод/отображение даты?

а причем тут ты? пусть хром сам отрисует как надо. он то точно знает в какой он локали сидит. а ты как бэкенд нет.
ааа. ты ж наверное сам всё верстаешь на бэке да.
8 окт 19, 17:59    [21989734]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
chpasha
Member

Откуда:
Сообщений: 8441
вадя
говорит о том какой язык страницы выбрать

не обязательно, можно сразу в виде локали - обрати внимание на первые две записи. просто нужно объяснить пользователям, что они выбирают не просто язык, но и формат дат/чисел. Нет ну можно конечно отдельно хранить настройки для формата даты, числа и пр. но мне кажется такая гибкость не нужна без особой причины.

P. S. я кстати тоже всегда английские броузеры использую, так что прибивать локаль гвоздями просто на основании моего browserLanguage не комильфо

К сообщению приложен файл. Размер - 17Kb
8 окт 19, 18:01    [21989739]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
Leonid Kudryavtsev
Member

Откуда:
Сообщений: 7927
By the way:

К сообщению приложен файл. Размер - 30Kb
8 окт 19, 18:02    [21989740]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
Leonid Kudryavtsev,
ну это слишком административно ...

andreykaT
а причем тут ты? пусть хром сам отрисует как надо. он то точно знает в какой он локали сидит. а ты как бэкенд нет.
ааа. ты ж наверное сам всё верстаешь на бэке да. Картинка с другого сайта.
я так же думал, пока не установил анлицкого лиса.
chpasha , видимо на таком и придётся остановиться

есть таблица локаль - формат даты ?
8 окт 19, 18:43    [21989778]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
chpasha
Member

Откуда:
Сообщений: 8441
можешь себе сам сгенерить
DateFormat.getDateInstance
8 окт 19, 19:17    [21989804]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
chpasha
можешь себе сам сгенерить
DateFormat.getDateInstance
не понял
8 окт 19, 20:03    [21989835]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
chpasha
можешь себе сам сгенерить
DateFormat.getDateInstance
спасибо ,разбрался
8 окт 19, 20:12    [21989841]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
chpasha
можешь себе сам сгенерить
DateFormat.getDateInstance

vai__#Latn---> 21/01/1970
ksb_TZ---> 21/01/1970
ksh---> 21. 1. 1970
ur_IN---> ??/?/??
ln---> 21/1/1970
en_JE---> 21/01/1970
gsw_CH---> 21.01.70
ln_CF---> 21/1/1970
en_CX---> 21/01/1970
luy_KE---> 21/01/1970
pt---> 21/01/1970
en_AT---> 21/01/1970
gl---> 21/01/70
kkj_CM---> 21/01 1970
sr__#Cyrl---> 21.1.70.
yue_CN_#Hans---> 1970/1/21
es_GQ---> 21/1/70
kn_IN---> 21/1/70
ar_YE---> ???/??/????
to---> 21/1/70
en_SX---> 21/01/1970
ga---> 21/01/1970
qu---> 21/01/1970
ru_KZ---> 21.01.1970
en_TZ---> 21/01/1970
et---> 21.01.70
en_PR---> 1/21/70
mua---> 21/1/1970
ko_KP---> 70. 1. 21.
желательно
локаль - dd.mm.yyyy
локаль1 - mm.dd.yyyy
.....
уже готовое...
8 окт 19, 20:28    [21989846]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
chpasha
Member

Откуда:
Сообщений: 8441
вадя
уже готовое...

все им готовое подавай ;)
даю наколку ((SimpleDateFormat) dateFormat).toPattern()
8 окт 19, 20:40    [21989851]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
chpasha
все им готовое подавай ;)
даю наколку ((SimpleDateFormat) dateFormat).toPattern()
дай уже код...
что-то лень думать....
8 окт 19, 20:46    [21989853]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
chpasha
Member

Откуда:
Сообщений: 8441
в наказание код на стримах Картинка с другого сайта.

Arrays.stream(Locale.getAvailableLocales())
      .map(locale -> String.format("%s - %s", locale, ((SimpleDateFormat) DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, locale)).toPattern()))
      .forEach(System.out::println);
8 окт 19, 20:57    [21989857]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
желаемого получить не удалось.... куча форматов, и мешает формат времени..
попытался отсечь с помощью regex, куча вариантов слишком усложняет задачу
кому интересно и не лень
        final String regex = "([^,\\s]{1,})(.{1,})";
        final Pattern pattern = Pattern.compile(regex, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE);
        Locale[] locales = DateFormat.getAvailableLocales();
        for (Locale loc : locales) {
            String ss = String.format(loc, "%s",  ((SimpleDateFormat) DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT, loc)).toPattern());
            Matcher matcher = pattern.matcher(ss);
            if (matcher.find()) {
                System.out.println(loc.toString() + "\t\t  " + matcher.group(1));
            }
        }
9 окт 19, 00:01    [21989946]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
chpasha
Member

Откуда:
Сообщений: 8441
напиши вместо getDateTimeInstance getDateInstance и будет тебе только дата - я ж думал время тоже надо
9 окт 19, 00:26    [21989955]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
как-то странно(внес в базу ) вот результат выборки для ru
d/M/yy pa_IN_#Guru,pa__#Guru
dd.MM.y ru,tt_RU,ru_KZ,ru_MD,ru_RU,ru_BY,ru_KG,ru_UA
dd.MM.yy os_RU
y-MM-dd cu_RU,ce_RU
yy/M/d sah_RU
9 окт 19, 00:48    [21989957]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
вадя,
Если тебя время не интересует, то может и палочки тире в дате тоже?
Три варианта:
1. Флаги стран на все приложение
2. Личный кабинет (leonid выше скрин)
3. Только даты - выбрать очередность месяца в подформе.
9 окт 19, 08:26    [21990017]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 9416
4. Унифицированное yyyy-MM-dd
9 окт 19, 08:50    [21990036]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
PetroNotC Sharp
Если тебя время не интересует, то может и палочки тире в дате тоже?
Три варианта:
1. Флаги стран на все приложение
2. Личный кабинет (leonid выше скрин)
3. Только даты - выбрать очередность месяца в подформе.

думал, что есть более простое решение...
наверно можно добавить
4. ввод только с помощью календаря, отображение dd-name-yyyy
9 окт 19, 08:55    [21990037]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
Basil A. Sidorov
4. Унифицированное yyyy-MM-dd
это хорошо когда день >12 числа(хотя надо знать что скрывается под MM)
9 окт 19, 08:57    [21990041]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
для справки
по getDateInstance
набирается 734 локали
38 вариантов отображения даты
9 окт 19, 09:07    [21990054]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
вадя
4. ввод только с помощью календаря, отображение dd-name-yyyy
тогда нафига эта тема?
Что хочет юзверь?
9 окт 19, 09:09    [21990056]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
вадя
Member

Откуда: Екатеринбург
Сообщений: 16686
PetroNotC Sharp
тогда нафига эта тема?
Что хочет юзверь?
да пока это на будущее.
ради спортивного интереса сделал календарик на js ( вместо jquery), ну и понеслись вопросы..
9 окт 19, 09:17    [21990061]     Ответить | Цитировать Сообщить модератору
 Re: Java+web работа с датой, как решается  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 2089
вадя,
Тогда надо учится у других
https://www.bellinibungalows.com
9 окт 19, 09:25    [21990071]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2   вперед  Ctrl      все
Все форумы / Java Ответить