Коди Фен Форум България
Конструиране на форматирана дата в #!/bin/bash - Версия за принтиране

+- Коди Фен Форум България (https://kodibg.org/forum)
+-- Форум: Живота извън Kodi (https://kodibg.org/forum/forum-21.html)
+--- Форум: Общи приказки (https://kodibg.org/forum/forum-25.html)
+--- Тема: Конструиране на форматирана дата в #!/bin/bash (/thread-991.html)



Конструиране на форматирана дата в #!/bin/bash - Majide - 29-05-2019

Попитаха ме, как може да се направи "конструктор" на форматирана дата в Bash Shell за Unix/Linux системи. Както винаги отговорих "Зависи. Дайте повече подробности." Еми в случая, задачата цели да се създаде конструкцията година(4цифри)-месец(2цифри), например 2019-05 трябва е резултата за текущия месец, 2019-06 за следващия месец, 2019-12 за последния месец през тази година... а за месеца след това 2020-01. От това следва да вземете предвид, че предвид за кой (текущия или друг) месец, трябва да се актуализира/преизчислява както месеца, така и годината с точност до... един месец. Ама месеците имат различен брой дни... и за да не ви държа в напрежение, ето какво успях да сътворя с малко помощ от търсачката "Гоошоо":
Код:
echo $(date -d $(date +%Y)-$(date +%m -d "+1 month")-15 +%Y-%m)
2019-06 <- вярно
echo $(date -d $(date +%Y)-$(date +%m -d "+8 month")-15 +%Y-%m)
2019-01 <- това вече е грешно; не е актуализирана и годината
echo $(date -d $(date +%Y -d "+8 month")-$(date +%m -d "+8 month")-15 +%Y-%m)
2020-01 <- това вече е работещ съвсем правилно код, защото е валиден и за повече от +/- 12 месеца
 Без значение за колко месеца напред или назад във времето (-13;-1;+1;+8) искате да конструирате форматираната дата, този код ще ви свърши работа в bash script или директно в терминала.