Формат даты на основе культуры с использованием плагина datejs - PullRequest
2 голосов
/ 16 апреля 2011

Я использую библиотеку datejs, и у меня проблема с форматом даты.Мне нужно вывести на экран сегодняшнюю дату без часа.Когда я запускаю эту строку:

Date.today().toString('d')

я получаю часть даты даты (т. Е. 15).

Если вы посмотрите на документацию, они указывают, что 'd' как стандартдата должна быть отстранена от культуры - и это именно то, что я хочу.http://code.google.com/p/datejs/wiki/FormatSpecifiers

Я ожидаю, что он напечатает мм / дд / гггг , если я использую

<script type="text/javascript" src="/scripts/date.js"></script>

, а если я использую EN-ГБ

<script type="text/javascript" src="/scripts/date-en-GB.js"></script>

для печати дд / мм / гггг

я знаю, что могу указать formattring в tostring () или что-то вроде этого:

(Date.today().toString(Date.CultureInfo.formatPatterns.shortDate)

Но я предпочитаю использовать параметр d.

Спасибо за любую помощь, Пини.

1 Ответ

2 голосов
/ 16 апреля 2011

Пара вопросов здесь:

1) Вики-документы отличаются от документов на главной странице http://code.google.com/p/datejs/ тем, что на главной странице описывается требуемый спецификатор, а не стандартный спецификатор. Документы в вики предполагают, что использование нескольких символов должно запускать пользовательский режим, но этого не происходит, как вы также указали. Я не видел никаких ошибок, сообщающих об этом, поэтому, возможно, вы захотите сделать это сами и получать уведомления об ответах: http://code.google.com/p/datejs/issues/list

2) Вы должны быть в состоянии сделать Date.today().toShortDateString();, но здесь есть ошибка (во всех файлах культуры). Списки источников:

Date.prototype.toShortDateString=function(){
    return this.toString(Date.CultureInfo.formatPatterns.shortDatePattern);
};

... но шаблон формата должен быть Date.CultureInfo.formatPatterns.shortDate (или шаблоны должны быть определены по-другому или с синонимами). См http://code.google.com/p/datejs/issues/detail?id=116.

3) Единственное место, где я мог найти поддержку «пользовательских» спецификаторов с их сокращенными буквами, это также включение файла test / scripts / date-functions.js.

<script type="text/javascript" src="build/date-en-US.js"></script>
<script type="text/javascript" src="test/scripts/date-functions.js"></script>
<script>
alert(Date.today().dateFormat('d'));
</script>

Вы можете поднять это, если сообщите о проблеме, так как кажется ненадежным включать файл, расположенный только в «тестовой» папке, для получения нужной вам функциональности.

...