I shall nom that code (I'm not really using the command :P).
First, note that Text() and Pxl-On() do not modify Ans. You can then optimise to save five bytes and you don't need LK (which uses 39 bytes of RAM):
:getDate
:Text(57,67+4(10>Ans(2)),Ans(2
:Text(57,87-4(10>Ans(3)),Ans(1)-2000
:Text(57,77,Ans(3
:Pxl-On(60,85-4(10>Ans(3
:Pxl-On(60,75
Even better though is that you can make Text() display multiple items and there is a token using the "." From the program editor, press [2nd][Y=][Left][3]. For this code, I will just use a period, though:
:getDate
:Text(57,67,Ans(2),".",Ans(1)-2000,".",Ans(3
But I think using a "-" or "/" looks nicer. And if you want it to be right adjusted:
:4sum(iPart(log(getDate→A
:getDate
:Text(57,82-A,Ans(2),"-",Ans(1)-2000,"-",Ans(3
It might just be easier to do something like this, though:
getDtStr(0
Text(57,95-4length(Ans),Ans
Start: 91 bytes + 39 bytes external variables
Opt1: 86 bytes, LK is not used, saving 39 more bytes
Opt2: 36 bytes
Opt3: 47 bytes + 18 bytes external variables, adds right-justification
Opt4: 18 bytes, adds right justification
:D 86% optimisation :3
Xeda112358 waits for Weregoose to optimise to -13 bytes
EDIT: Here is getDtStr( if you aren't familiar with it.