Shortest script that gives the time passed since a Unix timestamp
J , 165

;' '&amp;,@":&amp;.&gt;@((#~([:*&amp;&gt;{."1))@((;:' decades years weeks days hours minutes seconds')(],.([}.~[:-1=])&amp;.&gt;)&lt;"0@(_ 10 52 7 24 60 60&amp;#:)@(-~([:".@}:[:2!:0'date +%s'"_))))


Can probably be golfed more. Uses a shell call to date for getting the current unix epoch time, since Unix epoch is unavailable in J.

Example run:

;' '&amp;,@":&amp;.&gt;@((#~([:*&amp;&gt;{."1))@((;:' decades years weeks days hours minutes seconds')(],.([}.~[:-1=])&amp;.&gt;)&lt;"0@(_ 10 52 7 24 60 60&amp;#:)@(-~([:".@}:[:2!:0'date +%s'"_)))) 0
4 decades 4 years 41 weeks 3 days 12 hours 54 minutes 1 second