8266获取网络时间

简介: 8266获取网络时间 今天第一次用阿里的博客写点东西感受一下....可以参考一下这篇文章,不过有点问题,我后面会说https://www.jianshu.com/p/2d71cc18cfa7 sntp.

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
目录
相关文章
|
5月前
|
运维 监控 Serverless
函数计算产品使用问题之超时时间最大是多少
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
6月前
|
运维 关系型数据库 分布式数据库
如何减少闪断时间和影响范围
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
如何检查视频画面延迟的时间
做视频通讯的朋友,画面延迟,就是要经常测试的事情。那么怎样测试延迟呢?
483 0
|
存储 SQL 数据库
超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
超时时间已到。超时时间已到,但是尚未从池中获取连接。出现这种情况可能是因为所有池连接均在使用,并且达到了最大池大小。
724 0
|
定位技术 C#
C#编程练习(03):北斗时间系统、GPS时间系统及其与UTC时间系统之间的转换
C#编程练习(03):北斗时间系统、GPS时间系统及其与UTC时间系统之间的转换
C#编程练习(03):北斗时间系统、GPS时间系统及其与UTC时间系统之间的转换
|
Unix
strtotime应用(案例:给未来时间添加对应的时间)
strtotime应用(案例:给未来时间添加对应的时间)
216 0
strtotime应用(案例:给未来时间添加对应的时间)
|
数据挖掘 计算机视觉
R-C3D:用于时间活动检测的区域3D网络
论文原称:R-C3D: Region Convolutional 3D Network for Temporal Activity Detection(2017)
R-C3D:用于时间活动检测的区域3D网络
|
C# 网络协议
c#获取网络时间并同步本地时间
原文:c#获取网络时间并同步本地时间 通过TCP形式来获取NTP时间。主要代码如下: [DllImport("kernel32.dll")] private static extern bool SetLocalTime(ref Systemtime time); [StructLayout(LayoutKind.
3201 0

热门文章

最新文章

下一篇
开通oss服务