在Lua获取特定的UTC日期和时间

时间:2017-04-25 02:57:18

标签: date datetime lua timezone

作为一个例子,我想在LUA中获取(UTC)+0000 UTC日期和时间。

我知道有一些答案,但没有一个不是我的答案。回答此问题的一般方法是查找本地时间,然后加上或减去UTC编号,但我不知道我的操作系统时区,因为我的程序cab在不同的位置运行,我无法从我的开发环境中获取时区。 / p>

很快,如何使用LUA功能获取UTC 0的日期和时间?

2 个答案:

答案 0 :(得分:2)

如果您需要生成epg,那么:

local timestamp = os.time() 
local dt1 = os.date( "!*t", timestamp )  -- UTC
local dt2 = os.date( "*t" , timestamp )  -- local 

local shift_h  = dt2.hour - dt1.hour +  (dt1.isdst and 1 or 0)    -- +1 hour if daylight saving
local shift_m = 100 * (dt2.min  - dt1.min) / 60  
print( os.date("%Y%m%d%H%M%S ", timestamp) ..  string.format('%+05d' , shift_h*100 + shift_m ))

答案 1 :(得分:0)

我计算了UTC时间和本地时间之间的秒差。这是一个准系统[Error] ld returned 1 exit status类,该类应用该移位以将UTC时间存储在#include <iostream> using namespace std; void halfs(double (*arr)[2], int r, int c); // include type dbl in front of (*arr) int main(){ double data[2][2] = {{1, 2}, {3, 4}}; halfs (data, 2, 2); for (int i = 0; i < 2; i++){ cout << data[1][i] << " "; // prints 1.5 2.0 } return 0; } void halfs(int (*arr)[2], int r, int c){ for (int i = 0; i < r; i++){ for (int j = 0; j < c; j++){ arr[i][j] = arr[i][j] / 2; } } } 中。使用Time(适用于UTC时间)无法应用该移位。

from_lua_time