2015-06-11 2 views
4

У меня есть проблемы, отображающих месяц следующей операции на немецком языке:moment.js: преобразующая метку времени и показать месяц на немецком

var date = moment.unix(valueTimestamp).format("DD. MMMM YYYY"); 

Я попытался следующий, но это не работает:

// Attempt #1: 
var date = moment.lang('de').unix(valueTimestamp).format("DD. MMMM YYYY"); 
// Attempt #2: 
var date = moment.local('de').unix(valueTimestamp).format("DD. MMMM YYYY"); 

Как достичь того, чтобы название месяца было немецким?

EDIT

Я включил файл locales.js и создать JS скрипкой, который продемонстрирует мою проблему:

https://jsfiddle.net/e3a7bgLu/

Консоль отображает следующее сообщение об ошибке:

Uncaught TypeError: moment.locale(...).unix is not a function 
+1

'moment.locale ('de');' должен работать. Обязательно укажите немецкий языковой файл. – Pataar

+0

Когда я использую lang ('de') или local ('de'), моя консоль говорит «moment.lang (...). Unix не является функцией» – Max

+0

@Pataar: здесь я включил этот файл: https: // github.com/moment/moment/blob/develop/src/locale/de.js Но моя консоль говорит 'Uncaught SyntaxError: Неожиданное зарезервированное слово' из-за строки' export default ... ' – Max

ответ

1

У вас есть конструктор unix ПОСЛЕ того, как вы определяете локаль. Итак, вы d не устанавливая локаль на ничего.

Вам необходимо создать момент, прежде чем определять языковой стандарт.

Итак, момент будет создан из метода .unix(), и из этого возвращаемого результата вы можете определить локаль на нем.

moment.unix(1414543560).locale('de').format("DD. MMMM YYYY"); 

Необходимо сделать трюк! :)

JSFiddle

1

Я обновил скрипку вас в курсе. Должен работать так. https://jsfiddle.net/e3a7bgLu/2/

Итак, сначала вызовите moment.locale, а затем позвоните в функцию moment.unix.

Смежные вопросы