UnStable Messi Ответов: 2

Проблема даты глобализации и локализации


привет, ребята, я использую глобализацию и локализацию в своем приложении. я использую 2 культуры английский и арабский,
все вещи работают отлично, но я столкнулся с проблемой в дате

в списке записей, заполненных в jQuery Datatable, когда мое приложение находится на английском языке, то дата отображается правильно, как 21/08/2017.
когда я нажимаю на арабский и все меняется на арабский, дата преобразуется в эту дату 29/11/2038. я не знаю, почему это происходит, пожалуйста, помогите мне решить эту проблему.

Что я уже пробовал:

попробовал в гугле, но не нашел подходящего решения

2 Ответов

Рейтинг:
2

Jochen Arndt

Григорианский 21.06.2017 будет хиджрой 29.11.1438. Значит, вы ошиблись годом.

Это может быть получено с помощью внутреннего формата даты, который является григорианским и не поддерживает "старые" даты (и он также может печатать "недопустимые", когда преобразование создает недопустимые григорианские даты).

Возможным решением может быть сохранение дат как Григорианских и использование функции преобразования, которая создает строковое представление даты Хиджры вместо создания "двоичной" даты хиджры и форматирования ее.

Но мы не можем помочь, не зная, какие форматы и какие функции преобразования используются.


UnStable Messi

я просто изменил ar-SA на ar-BH, и тогда проблема исчезла :)

Спасибо

Рейтинг:
1

Kornfeld Eliyahu Peter

Это потому, что местный для вашей арабской культуры отображает даты в соответствии с Исламским календарем (с небольшим багом)...
21.07.2017 - это 29-е число Хиджры 1438 года...
Хиджжа-это 12-й месяц исламского календаря (с нулевым основанием он доходит до 11), и из-за ошибки 1900-2000 годов 38 отображается как 2038 год, а не 1438...


UnStable Messi

я просто изменил ar-SA на ar-BH, и тогда проблема исчезла :)

Спасибо