import
datetime
import
timeit
def
juldate(year, month, day):
jmonth
=
[
0
,
31
,
59
,
90
,
120
,
151
,
181
,
212
,
243
,
273
,
304
,
334
]
jday
=
jmonth[month
-
1
]
+
day
if
(year
%
4
=
=
0
and
year
%
100
!
=
0
)
or
year
%
400
=
=
0
:
if
month >
2
:
return
jday
+
1
return
jday
start
=
timeit.default_timer()
dt
=
datetime.date.fromtimestamp(
0
)
while
dt.year <
=
4000
:
juldate(dt.year, dt.month, dt.day)
dt
+
=
datetime.timedelta(days
=
1
)
end
=
timeit.default_timer()
print
(end
-
start)
start
=
timeit.default_timer()
dt
=
datetime.date.fromtimestamp(
0
)
while
dt.year <
=
4000
:
int
(datetime.datetime(dt.year, dt.month, dt.day).strftime(
"%j"
))
dt
+
=
datetime.timedelta(days
=
1
)
end
=
timeit.default_timer()
print
(end
-
start)
1.6149210810011292
2.9324835093567865