at is not cron! Users with little or no experience with at tend to lump it with utilities such as cron. Although both at and cron allow for the scheduled execution of processes, cron is explicitly intended for jobs scheduled periodically (such as every day at 4:00 PM). at should be applied to tasks needing to be performed once—at a specific time/date—or when the time/date needs to be determined programmatically.
If you've used other implementations of at, note that there are differences between the output and command-line syntax of at on Linux and on other commercial UNIX platforms.
How far in the future can a job be scheduled? The system on which most of my examples were tested became annoyed if a job was scheduled beyond the year 2037. I don't believe this would be a serious limitation for most users.
Time values displayed by the at and atq programs will be more readable if the POSIXLY_CORRECT variable is set and exported, for example: POSIXLY_CORRECT=1 export POSIXLY_CORRECT.
The atq command is synonymous with at -l, and atrm is synonymous with at -d.