This shell command should do the trick: emacs -batch -l cal-dst -eval '(message "%s" (format-time-string "%Y-%m-%d %H:%M:%S %z" (calendar-next-time-zone-transition (current-time))))' If I run that right now in Los Angeles, I get: 2013-11-03 01:00:00 -0800