Momentjs Конвертировать общее количество недель в месяц сокращение (javascript) - PullRequest
0 голосов
/ 05 ноября 2019

Я получил большую часть серийных номеров, которые включают дату изготовления в виде недели.

пример серийного номера:

ABC D 08 05 1234

  • где 08 - это год (2008)
  • 05 - это неделя (01 - 1, 02 - второе, 03 - третье, 04 - четвертое,05 - пятая неделя и т. Д.)

Я хочу преобразовать это в 2008 февр формат. Есть ли простой способ сделать это? Пожалуйста, помогите мне.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 05 ноября 2019

Использование format()

[] - escape-символы в строках формата

YY - Год

ww - неделя

console.log(moment('ABC D 08 05 1234', '[ABC D] YY ww [1234]').format('YYYY MMM'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>
1 голос
/ 05 ноября 2019

Самое простое решение - использовать соответствующие значения из входной строки и разбирать токены :

let s = 'ABC D 08 05 1234';

console.log(
  moment(s.substr(6, 5), 'YY ww').format('YYYY MMM')
);
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.2/moment.min.js"></script>

Однако это предполагает, что недели нумеруются в соответствии со схемой, используемой моментом.js по умолчанию.

  • 'w'использует неделю "локали", независимо от того, что это может быть
  • ' W 'использует неделю ISO 8601, которая указывается для начала в понедельник недели с первого четверга в году
0 голосов
/ 05 ноября 2019

Вы можете попробовать это :

var date=moment('ABC D 08 05 1234', '[] YY ww []').format('MMM YYYY');  

document.write(date);
...