Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π° "Π€ΠΈΠ»ΡŒΡ‚Ρ€"

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΠΎΠ»Π΅ Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста Ρ€Π°Π·Π΄Π΅Π»Π° Π€ΠΈΠ»ΡŒΡ‚Ρ€ (активируСтся Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅):

ΠŸΡ€ΠΈ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Ρ€Π΅Π·Π΅Ρ€Π²ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹:

  • @value - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π½Π° ΡƒΡ€ΠΎΠ²Π½Π΅

  • @path - массив всСх Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΡ… ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ

    • @path[0]

      • самый ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ

    • @path[@level-1]

      • блиТайший Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ

  • @level - ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности

ΠŸΡ€ΠΈΠΌΠ΅Ρ€Ρ‹ форматирования

Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ тСкста ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌ Π² зависимости ΠΎΡ‚ уровня

Π’Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΡΡΠ½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ тСкст ΠΊ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΌ Π² Π²ΠΈΠ΄ΠΆΠ΅Ρ‚Π΅ значСниям. Π’ нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ ΠΌΡ‹ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊ числовому ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ Π³ΠΎΠ΄Π° слово Π³ΠΎΠ΄ (Π½ΡƒΠ»Π΅Π²ΠΎΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности) ΠΈ ΠΊ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ значСниям - слово нСдСля. Для этого ΠΌΡ‹ Π²Π²Π΅Π΄Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π² ΠΏΠΎΠ»Π΅ Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ тСкста Ρ€Π°Π·Π΄Π΅Π»Π° Π€ΠΈΠ»ΡŒΡ‚Ρ€:

@level == 0 ? @value + ' год' : @value + ' нСдСля'

Π“Π΄Π΅
@level == 0 – ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ влоТСнности (Π² нашСм ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π΅ это 0);
@value + ' Π³ΠΎΠ΄', @value + ' нСдСля' – тСкст, добавляСмый ΠΊ значСниям.

Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ подписСй значСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π΄Π½Π΅ΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π½Π΅Π΄Π΅Π»ΠΈ Π² Π³ΠΎΠ΄Ρƒ

Для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹, Π² ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠΉ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ измСрСния:

  • Π“ΠΎΠ΄ для Π½Π΅Π΄Π΅Π»ΠΈ

  • НомСр Π½Π΅Π΄Π΅Π»ΠΈ

Π”Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ форматирования производится с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ скрипта:

@level === 0 ? @value : ((year, weekNo) => { var d1 = new Date(); d1.setFullYear(year); var numOfdaysPastSinceLastMonday = (d1.getDay() - 1); d1.setDate(d1.getDate() - numOfdaysPastSinceLastMonday); var weekNoToday = (dt => { var target = new Date(dt.valueOf()); var dayNr = (dt.getDay() + 6) % 7; target.setDate(target.getDate() - dayNr + 3); var firstThursday = target.valueOf(); target.setMonth(0, 1); if (target.getDay() != 4) { target.setMonth(0, 1 + ((4 - target.getDay()) + 7) % 7) } return 1 + Math.ceil((firstThursday - target) / 604800000) })(d1); var weeksInTheFuture = (weekNo - weekNoToday); d1.setDate(d1.getDate() + (7 * weeksInTheFuture)); var rangeIsFrom = weekNo + " нСдСля " + d1.getDate() + "." + (d1.getMonth() + 1); d1.setDate(d1.getDate() + 6); var rangeIsTo = d1.getDate() + "." + (d1.getMonth() + 1); return rangeIsFrom + " - " + rangeIsTo })(@path[0], @path[1])

Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΄Π°Ρ‚Ρ‹ с YYYY-MM-DD Π½Π° DD-MM-YYYY

Для инвСртирования Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π΄Π°Ρ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ:

@value.split('-').reverse().join('-')

Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ примСнСния ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°Π½ Π½ΠΈΠΆΠ΅: