On Sun, Apr 08, 2018 at 11:12:43PM -0700, Philip Guenther wrote:
| On Sun, Apr 8, 2018 at 10:54 PM, Robert Klein <rokl...@roklein.de> wrote:
| 
| > this works for me:
| >
| > date -r $(( $(date +%s) - 1 * 24 * 60 * 60 )) +%Y_%m_%d
| >
| 
| Did you test that after 11pm on the day when daylight-saving time ends and
| the clock is turned back, resulting in a 25 hour long day?

For those special occassions there's:

date -j `date +%Y%m%d1200` +%s

Turning this into:

date -r $(($(date -j `date +%Y%m%d1200` +%s) - 86400)) +%Y_%m_%d

Less perl (and less typing) at the expense of a total of 3 invocations
of date.  Although I loathe the natural language parsing options built
into Linux date(1), this sort of thing is rather convenient.

| I would use this:
|    perl -MPOSIX=strftime,mktime -le '@d=localtime(); $d[3]--; mktime(@d);
| print strftime("%Y_%m_%d",@d)'
| 
| Philip Guenther

Paul 'abolish DST now' de Weerd

-- 
>++++++++[<++++++++++>-]<+++++++.>+++[<------>-]<.>+++[<+
+++++++++++>-]<.>++[<------------>-]<+.--------------.[-]
                 http://www.weirdnet.nl/                 

Reply via email to