您将如何计算 DATE_TIME 对象自 eiffel 纪元以来的秒数

how would you calculate the number of seconds since epoch in eiffel for a DATE_TIME object

如何计算 DATE_TIME 对象自埃菲尔纪元以来的秒数?

这似乎有效:

make
        -- Execute the example
    local
        l_date:DATE_TIME
        l_seconds:INTEGER_64
    do
        create l_date.make_now
        l_seconds := l_date.relative_duration (create {DATE_TIME}.make_from_epoch (0)).seconds_count
        print("The number of seconds: " + l_seconds.out + "%N")
    end

假设变量t的类型为DATE_TIME(UTC),获取对应的纪元以来秒数的代码为

t.definite_duration (create {DATE_TIME}.make_from_epoch (0)).seconds_count

注意。 如果计算执行得相当频繁,创建类型为 DATE_TIME 且 [=16 的对象 epoch 可能更有效=] 并在计算中使用它:

t.definite_duration (epoch).seconds_count