获取最后一个UTC午夜unix时间戳的最佳方法

时间:2016-09-15 19:53:13

标签: ruby unix-timestamp

我需要知道在伦敦发生的最后一个午夜的时间戳,无论我运行此代码的时区如何。

require "date"
Date.today.to_time.to_i

似乎到了当地的午夜。

3 个答案:

答案 0 :(得分:1)

year = Time.now.utc.year
month = Time.now.utc.month
day = Time.now.utc.day
Time.utc(year, month, day).to_i

更多信息:https://ruby-doc.org/core-2.3.0/Time.html#method-c-utc

答案 1 :(得分:0)

这会做你想做的吗?

GameObject obj = _factory.Create(); // Creates from prefab

// instantiate and attach the component in once function 
HasScore hasScore = Container.InstantiateComponent<HasScore>(obj); 

Time.now.utc.midnight.to_i 获取当前当地时间,Time.now将其设置为UTC,#utc将其设置为上一个午夜,#midnight将其转换为戳记。希望有所帮助!

https://ruby-doc.org/core-2.3.0/Time.html

答案 2 :(得分:0)

由于UNIX时间戳每天增加86400,您可以通过以下方式计算午夜:

Time.now.utc.to_i / 86400 * 86400
#=> 1473984000

或者:

t = Time.now.utc.to_i
#=> 1474011313

t - t % 86400
#=> 1473984000