NTP servers (beyond tier 0 or 1) have to deal with similar issues. There
are some neat heuristic algorithms for this kind of problem. You have to
accept the timestamp of the first request as gospel, because you have
nothing else to go by. (So it might be wise for an administrator to send
the first request after powering on the Printer.) But then you can
accumulate a better and better idea of what the real time is as further
requests come in. For example, you stick with your own count of the time,
but take further timestamps as hints on whether to speed up or slow down
your tick counter. You could use an exponentially decaying algorithm to
start out with large corrections and gradually reduce them as your clock
converges.
Remember that we're talking cheap Printers here; ones that probably won't
support "job-hold-until", for example. More sophisticated Printers would
obviously have a battery-backed-up Real Time Clock (RTC).
-Carl