J'ai un script shell que je veux obtenir la date et l'heure il y a 30 minutes dans GMT. P>
J'ai cela fonctionnant bien pour les heures complètes, mais les heures partielles ne semblent pas fonctionner: p>
TZ = GMT + 1 date +% y-% m-% d ""% h:% m:% s 2010-01-08 17:43:57 P>
TZ = GMT + 2 Date de +% Y-% M-% D ""% h:% m:% s 2010-01-08 16:44:07 P>
TZ = GMT + .5 Date de +% Y-% M-% D ""% h:% m:% s 2010-01-08 18:44:38 P>
J'ai essayé beaucoup de combinaisons de 0,5 1,5, aucune heure partielle ne semble fonctionner, ce qui est bizarre car il y a des fuseaux horaires de fusure non compensés d'une heure. P>
Toute suggestion? P>
ne peut pas utiliser Perl ou Ruby doit être une coque régulière ou un appel MySQL. P>
3 Réponses :
date--date = "- 30 minutes" p>
Si vous êtes sur OS X, l'option équivalente est la suivante: date -u -v-30m
Merci, serait idéal si j'en avais un qui travaillait sur Linux Centos et OSX, mais je peux vivre avec 2 versions pour l'instant.
Ainsi que «-30 minutes», vous pouvez dire «il y a 30 minutes», qui correspond exactement à cette partie de votre question.
/usr/bin/env TZ='GMT' date -d '-30 minutes' This is with the version of the date command that's part of the GNU coreutils. I don't know if it works for other versions of the date program.
Vous pouvez également faire cela:
Fonctionne sur Mac OS X et Ubuntu.
Ceci est une solution plus compatible - fonctionne aussi sur Alpine Linux