8266獲取網路時間
今天第一次用阿里的部落格寫點東西感受一下....
sntp.sync("ntp1.aliyun.com",
function()
print("sync succeeded")
end,
function(index)
print("failed : "..index)
end)
用的sntp
然後列印時間
time = rtctime.epoch2cal(rtctime.get()
timer = string.format("%04d;%02d;%02d;%02d;%02d;%02d;%01d",
time["year"],
time["mon"],
time["day"],
time["hour"]+8,
time["min"],
time["sec"],
time["wday"])
--print(timer)
local datalist = split(timer, ';');
year = tonumber(datalist[1]);
month = tonumber(datalist[2]);
day = tonumber(datalist[3]);
hour = tonumber(datalist[4]);
minute = tonumber(datalist[5]);
second = tonumber(datalist[6]);
weekday = tonumber(datalist[7]);
print(year,month,day,hour,minute,second,weekday)
現在說一下問題
國際時間和北京時間相差8小時,所以會發現所獲得的時間會在北京時間8點的時候變化
年 月 日 時 分 秒 星期
2018 3 3 31 0 0 7
2018 3 3 31 0 1 7
2018 3 3 31 0 2 7
2018 3 3 31 0 3 7
2018 3 3 31 0 4 7
2018 3 3 31 0 5 7
2018 3 3 31 0 6 7
2018 3 3 31 59 54 7
2018 3 3 31 59 55 7
2018 3 3 31 59 56 7
2018 3 3 31 59 57 7
2018 3 3 31 59 58 7
2018 3 3 31 59 59 7
2018 3 4 8 0 0 1
2018 3 4 8 0 1 1
2018 3 4 8 0 2 1
2018 3 4 8 0 3 1
2018 3 4 8 59 51 1
2018 3 4 8 59 52 1
2018 3 4 8 59 53 1
會問怎麼會有31小時,這就是問題點1
國際時間小時是從0-23變化,加了8小時所以變化為8-31
所以獲得時間後直接加8小時是不對的
而且還會發現日子總是在每天的8點變化,肯定不對
最簡單的方法
time = rtctime.epoch2cal(rtctime.get()+28800)
timer = string.format("%04d;%02d;%02d;%02d;%02d;%02d;%01d",
time["year"],
time["mon"],
time["day"],
time["hour"],
time["min"],
time["sec"],
time["wday"])
--print(timer)
local datalist = split(timer, ';');
year = tonumber(datalist[1]);
month = tonumber(datalist[2]);
day = tonumber(datalist[3]);
hour = tonumber(datalist[4]);
minute = tonumber(datalist[5]);
second = tonumber(datalist[6]);
weekday = tonumber(datalist[7]);
print(year,month,day,hour,minute,second,weekday)
time = rtctime.epoch2cal(rtctime.get()+28800)
直接設定系統的時間加8小時,這樣的話系統就能讓日期在零點的時候變化,而且不會向上面似得出現31這種不對的時間
現在的資料
2018 3 5 23 59 50 2
2018 3 5 23 59 51 2
2018 3 5 23 59 52 2
2018 3 5 23 59 53 2
2018 3 5 23 59 54 2
2018 3 5 23 59 55 2
2018 3 5 23 59 56 2
2018 3 5 23 59 57 2
2018 3 5 23 59 58 2
2018 3 5 23 59 59 2
2018 3 6 0 0 0 3
2018 3 6 0 0 1 3
2018 3 6 0 0 2 3
2018 3 6 0 0 3 3
2018 3 6 0 0 4 3
2018 3 6 0 0 5 3
2018 3 6 0 0 6 3
2018 3 6 0 0 7 3
2018 3 6 0 0 8 3
2018 3 6 0 0 9 3
2018 3 6 0 0 10 3
STM32 ESP8266獲取網路時間和天氣
目錄 1 連網 2 獲取天氣和時間 3 對獲取到的資料進行解析 先給出兩個可以獲取天氣和時間的 可以獲取天氣 可以獲取時間 接下來簡單說說怎麼通過at指令的方式去獲取天氣及時間資訊 首先,esp8266肯定是需要連上網才能訪問這些資訊。所以,第一步要做的就是讓esp8266連線上wifi熱點,可以是...
ESP8266獲取網路天氣
使用esp8266模組來獲取網路資料 天氣,時間等 還是挺簡單的。一步一步來。使得mcu可正常使用串列埠的傳送與接收,以及一些io控制esp8266的使能端與電源。傳送 at cwjap?r n 可以獲取當前連線的路由,如果沒有連線正確的路由,則使用 at cwlap r n 命令獲取當前路由列表。...
51微控制器驅動esp8266獲取網路時間
第一次使用esp8266做玩具。使用了stc89c52,ds1302,lcd1602,esp8266.先使用了ds1302實現了本地走時的功能。在通過esp8266獲取網路時間將獲取到的時間寫入ds1302中。再開啟ds1302走時即可。關鍵部分在於esp8266建立連線的部分。現把esp8266初...