Я использовал Radicale успешно с Thunderbird больше года теперь. Это поддерживает аутентификацию SSL и Аутентификацию HTTP, которая при использовании вместе должна сделать безопасным синхронизировать и небезопасная сеть.
Вы упоминаете проблемы, синхронизирующиеся с Android. В теории любое приложение, которое поддерживает CalDAV и CardDAV, должно позволить Вам синхронизировать с Radicale. Эта страница перечисляет несколько: http://wiki.davical.org/w/CalDAV_Clients/Android
Поскольку вы, кажется, используете Linux-версию stat(1)
, я предполагаю, что у вас также есть GNU coreutils
версия date(1)
:
TIMESTAMP=$( date +'%Y-%m-%d %H:%M:%S' -r "$JARNAME".jar )
С помощью GNU
stat
можно просто использовать dot модификатор 1 (+ ширина поля) между вводным %
и символом, задающим формат, например stat --printf "%. 19y" имя файла
, поэтому в вашем случае:
TIMESTAMP=$(stat -c "%.19y" infile)
С помощью BSD/OSX
stat
вы можете использовать -f
(format) и -t
(timefmt) переключатели:
TIMESTAMP=$(stat -f '%Sm' -t '%Y-%m-%d %H:%M:%S' infile)
1
.
точка: вместе с шириной поля, когда текст длиннее, поле не расширяется, вместо этого текст усекается.
Попробуйте сделать это с помощью Расширение параметров:
echo "${TIMESTAMP%.*}"
Выход:
2015-04-24 17:23:03
Или используйте cut:
TIMESTAMP=$( stat -c "%y" $JARNAME.jar | cut -d. -f1 )
print $TIMESTAMP
Формат даты
% Y-% m-% d% H:% M:% S
, используемый в ответе lcd047s, можно упростить до % F% T
:
TIMESTAMP=$( date +'%F %T' -r "$JARNAME".jar )
Из man date
:
FORMAT controls the output. Interpreted sequences are:
...
%F full date; same as %Y-%m-%d
...
%T time; same as %H:%M:%S
...