Vandaag is het weer de 31ste van de maand en dat levert weer eens leuke resultaten op als je met datums gaat rekenen.
Voor allerhande dingen gebruik ik regelmatig dingen als:
Maar op de 31ste levert dat toch wat problemen op kwam ik vandaag achter. Bijvoorbeeld in PHP:
In PHP is dit op te lossen door te doen (ik heb in mijn geval niet zozeer de datum nodig, maar vooral de maand) (5.3+):
Ruby snap 't gewoon en dat levert dit op:
Maar hoe krijg ik dit voor elkaar in (linux) bash met behulp van /bin/date?
Want ook date doet dit:
Dingen als dit werken niet:
Iemand anders een idee?
Voor allerhande dingen gebruik ik regelmatig dingen als:
PHP:
1
| strtotime('+1 month'); of strtotime('-1 month'); |
Maar op de 31ste levert dat toch wat problemen op kwam ik vandaag achter. Bijvoorbeeld in PHP:
PHP:
1
2
| echo date('d-m-Y', strtotime('+1 month')); // 01-12-2011 echo date('d-m-Y', strtotime('-1 month')); // 01-10-2011 |
In PHP is dit op te lossen door te doen (ik heb in mijn geval niet zozeer de datum nodig, maar vooral de maand) (5.3+):
PHP:
1
2
| echo date('d-m-Y', strtotime('first day of +1 month')); // 01-11-2011 echo date('d-m-Y', strtotime('first day of -1 month')); // 01-09-2011 |
Ruby snap 't gewoon en dat levert dit op:
code:
1
2
3
4
5
| >> 1.month.ago => Fri Sep 30 15:37:29 +0000 2011 >> 1.month.from_now => Wed Nov 30 15:50:39 +0000 2011 |
Maar hoe krijg ik dit voor elkaar in (linux) bash met behulp van /bin/date?
Want ook date doet dit:
code:
1
2
3
4
5
| $ /bin/date +%Y-%m-%d -d "1 months ago" 2011-10-01 $ /bin/date +%Y-%m-%d -d "+1 month" 2011-12-01 |
Dingen als dit werken niet:
code:
1
| $ /bin/date +%Y-%m-%d -d "first day of 1 month ago" |
Iemand anders een idee?
LG Therma V Split WP: HU143MA.U33-HN1636M NK5