Euforia - Data e ora
Euphoria ha una routine di libreria che restituisce la data e l'ora al tuo programma.
Il metodo date ()
Il metodo date () restituisce un valore di sequenza composto da otto elementi atomici. L'esempio seguente lo spiega in dettaglio:
#!/home/euphoria-4.0b2/bin/eui
integer curr_year, curr_day, curr_day_of_year, curr_hour, curr_minute, curr_second
sequence system_date, word_week, word_month, notation,
curr_day_of_week, curr_month
word_week = {"Sunday",
"Monday",
"Tuesday",
"Wednesday",
"Thursday",
"Friday",
"Saturday"}
word_month = {"January", "February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"}
-- Get current system date.
system_date = date()
-- Now take individual elements
curr_year = system_date[1] + 1900
curr_month = word_month[system_date[2]]
curr_day = system_date[3]
curr_hour = system_date[4]
curr_minute = system_date[5]
curr_second = system_date[6]
curr_day_of_week = word_week[system_date[7]]
curr_day_of_year = system_date[8]
if curr_hour >= 12 then
notation = "p.m."
else
notation = "a.m."
end if
if curr_hour > 12 then
curr_hour = curr_hour - 12
end if
if curr_hour = 0 then
curr_hour = 12
end if
puts(1, "\nHello Euphoria!\n\n")
printf(1, "Today is %s, %s %d, %d.\n", {curr_day_of_week,
curr_month, curr_day, curr_year})
printf(1, "The time is %.2d:%.2d:%.2d %s\n", {curr_hour,
curr_minute, curr_second, notation})
printf(1, "It is %3d days into the current year.\n", {curr_day_of_year})
Questo produce il seguente risultato sullo schermo standard:
Hello Euphoria!
Today is Friday, January 22, 2010.
The time is 02:54:58 p.m.
It is 22 days into the current year.
Il metodo time ()
Il metodo time () restituisce un valore atom, che rappresenta il numero di secondi trascorsi da un punto nel tempo fisso. L'esempio seguente lo spiega in dettaglio:
#!/home/euphoria-4.0b2/bin/eui
constant ITERATIONS = 100000000
integer p
atom t0, t1, loop_overhead
t0 = time()
for i = 1 to ITERATIONS do
-- time an empty loop
end for
loop_overhead = time() - t0
printf(1, "Loop overhead:%d\n", loop_overhead)
t0 = time()
for i = 1 to ITERATIONS do
p = power(2, 20)
end for
t1 = (time() - (t0 + loop_overhead))/ITERATIONS
printf(1, "Time (in seconds) for one call to power:%d\n", t1)
Questo produce il seguente risultato:
Loop overhead:1
Time (in seconds) for one call to power:0
Metodi relativi a data e ora
Euphoria fornisce un elenco di metodi che ti aiutano a manipolare la data e l'ora. Questi metodi sono elencati in Euphoria Library Routines .