Euphoria - Fecha y hora
Euphoria tiene una rutina de biblioteca que devuelve la fecha y la hora a su programa.
El método date ()
El método date () devuelve un valor de secuencia compuesto por ocho elementos de átomo. El siguiente ejemplo lo explica en detalle:
#!/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})
Esto produce el siguiente resultado en su pantalla estándar:
Hello Euphoria!
Today is Friday, January 22, 2010.
The time is 02:54:58 p.m.
It is 22 days into the current year.
El método time ()
El método time () devuelve un valor de átomo, que representa el número de segundos transcurridos desde un punto fijo en el tiempo. El siguiente ejemplo lo explica en detalle:
#!/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)
Esto produce el siguiente resultado:
Loop overhead:1
Time (in seconds) for one call to power:0
Métodos relacionados con la fecha y la hora
Euphoria proporciona una lista de métodos que le ayudan a manipular la fecha y la hora. Estos métodos se enumeran en Euphoria Library Routines .