Преобразуйте формат даты

Термин для этого является "грязными" данными (данные, которые были изменены, но еще не сброшены к постоянному хранению).

На Linux можно найти это от /proc/meminfo под Dirty:

$ cat /proc/meminfo | grep Dirty
Dirty:               0 kB
2
27.01.2014, 12:09
3 ответа

Использование GNU date. От формата 1 - 2:

LC_ALL=C date --date=1/24/2014 +"%b %-d"              
Jan 24

И от 2 до 1:

date --date="Jan 24" +"%-m/%-d/%Y"
1/24/2014
7
27.01.2020, 21:51

Используя ksh93:

$ printf "%(%-m/%-d/%Y)T\n" "Jan 24"
1/24/2014
$ LC_ALL=C printf "%(%b %-d)T\n" 1/24/2014
Jan 24

Портативно

d=1/24/2014
echo "$d:Jan1:Feb2:Mar3:Apr4:May5:Jun6:Jul7:Aug8:Sep9:Oct10:Nov11:Dec12:" |
  sed -n 's|^0*\([0-9]\{1,2\}\)/0*\([0-9]\{1,2\}\)/.*:.*\(...\)\1:.*|\3 \2|p'

d='Jan 24'
echo "$d:Jan1Feb2Mar3Apr4May5Jun6Jul7Aug8Sep9Oct10Nov11Dec12" |
  sed -n "s|^\(...\) 0*\([0-9]\{1,\}\).*\1\([0-9]*\).*|\3/\2/$(date +%Y)|p"
1
27.01.2020, 21:51
[112840]FreeBSD и OS X [113229]дата[113230]:

0
27.01.2020, 21:51

Теги

Похожие вопросы