Cosmic Flame Cosmic Flame - 2 months ago 11
Linux Question

Pipe string to GNU Date for conversion - how to make it read from stdin?

GNU Date lets you convert date strings like so:

$ date +"%d %m %Y" -d "yesterday"
04 01 2012


Is it possible to pipe a date string to it for conversion? I've tried the obvious
-d -
like so:

$ echo "yesterday" | date +"%d %m %Y" -d -


but it prints today's date instead of yesterdays.

Is it possible to pipe values to it or doesn't it support that?

Thanks.

Answer

Yes.

 echo "yesterday" | xargs date +"%d %m %Y" -d