How far is the Sun?
Java - 185 180 bytes
static void d(){while(true){System.err.println(149597870.691*(1-.01672*Math.cos(Math.toRadians(.9856*(Calendar.getInstance().get(6)+LocalTime.now().toSecondOfDay()/8.64e4-4)))));}}
This uses the fact that there are 86,400 seconds in a day and is using local time, not GMT. Output happens much more than once per second. Not sure if import statements should be included in byte count.
To include a 1 second delay adds about 26 bytes e.g.
static void d(){try{while(true){System.err.println(149597870.691*((1-.01672*Math.cos(Math.toRadians(.9856*(Calendar.getInstance().get(6)+LocalTime.now().toSecondOfDay()/8.64e4-4)))));Thread.sleep(1000L);}}catch(Exception e){}}
Java definitely isn't the most golfable language. :)
Removed a few bytes thanks to @insertusernamehere
TI-BASIC, 38 bytes
Disp 25018086(59.8086-cos(5022635.4⁻¹checkTmr(83761
prgmA
For a TI-84+ series calculator. Name this prgmA
. Note that this overflows the stack after a few thousand iterations; use a While 1:...:End
instead if this is a problem, for two extra bytes.
This uses the perihelion on January 1, 1997, 23:16 UTC for reference, and is accurate to within a few dozen kilometers (about 7 digits of accuracy) for the next few years.
Python, 101 bytes
import time,math
a=149597870.691
while 1:print(a-a*.01672*math.cos((time.time()-345600)/5022635.53))
345600 = 4*24*3600 (four days)
5022635.53 ≌ (365.256363*24*3600)/(2π) (seconds in year/2π)