Sntp.sync() 忽略服务器

2024-03-08

我一直在尝试与 ntp 服务器同步时间,但是,nodemcu 似乎忽略了服务器参数。

-- sync.lua
sntp.sync("fr.pool.ntp.org", function()
  tm = rtctime.epoch2cal(rtctime.get())
  print(string.format("%04d/%02d/%02d %02d:%02d:%02d", tm["year"], tm["mon"], tm["day"], tm["hour"], tm["min"], tm["sec"]))
end)

执行..

> dofile('sync.lua')
> 2017/05/22 21:38:39

时间响应是unix纪元时间(https://www.epochconverter.com/ https://www.epochconverter.com/)。它应该是服务器参数时间(在本例中为法国)吗?我尝试了几个不同的服务器(即http://www.pool.ntp.org/zone/europe http://www.pool.ntp.org/zone/europe)但响应仍然相同。

有什么建议吗?谢谢!


行为是正确的。如果你想使用时区,你需要所谓的tz 数据库中的“区域文件” https://en.wikipedia.org/wiki/Tz_database。每个 tz 文件包含(以及其他信息)转换,例如夏令时,并且还记录闰秒。

有一个如何处理的例子NodeMCU 存储库中的时区 https://github.com/nodemcu/nodemcu-firmware/tree/master/lua_examples/timezone.

tz = require('tz')
tz.setzone('eastern')
sntp.sync(nil, function(now)
  local tm = rtctime.epoch2cal(now + tz.getoffset(now))
  print(string.format("%04d/%02d/%02d %02d:%02d:%02d", tm["year"], tm["mon"], tm["day"], tm["hour"], tm["min"], tm["sec"]))
end)

所以,你需要tz.lua https://github.com/nodemcu/nodemcu-firmware/blob/master/lua_examples/timezone/tz.lua加上您感兴趣的时区的区域文件(示例中为“东部”)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Sntp.sync() 忽略服务器 的相关文章

  • lua多重赋值

    lua中是否有任何多重赋值的方法 使得右侧缺失的值不被视为nil 类似于 a b c 1 但得到 a 1 b 1 c 1 结果 很遗憾 a b c 1 不起作用 我需要这个 因为我可能在右侧有复杂的表格 并且我想保持它简短 没有任何附加变量
  • Lua解释器相当于Matlab“whos”命令吗?

    Octave Matlab IPython whos 命令的 Lua 等价物是什么 我正在尝试以交互方式学习 Lua 并想看看当前定义了哪些变量 Lua 中的所有全局变量都驻留在可用作全局变量的表中 G http www lua org m
  • Lua中字符串的串联

    在许多语言中 您可以在变量赋值时连接字符串 我有一个使用 Lua 编程语言的场景 我需要将命令的输出附加到现有变量 Lua 中是否有与以下示例等效的功能 其他语言的例子 PERL filename checkbook filename tm
  • lua __pairs 的实际实现是什么?

    有谁知道 lua 5 2 的实际实现吗 元方法 pairs 换句话说 我如何实施 pairs作为元表中的元方法 因此它的工作原理与pairs 我需要覆盖 pairs并想跳过我在表中添加的一些虚拟变量 下面将使用元表元来显式提供pairs默认
  • proxy_pass 不使用 /etc/hosts 解析 DNS

    在 Nginx 中proxy pass指令未使用以下命令解析 DNS etc hosts文件 有什么方法可以实现这种可能性 也许利用 Lua 作为最后的手段 如果您有一台带有 systemd 的服务器 您可以使用它附带的名称服务器 syst
  • 用于数据存储的 Lua 与 XML

    我们中的许多人都被灌输了使用 XML 来存储数据的观念 它的优点和缺点众所周知 我当然不想在这里讨论它们 然而 在我用 C 编写的项目中 我也使用 Lua 我非常惊讶 Lua 能够如此出色地存储和处理数据 然而 Lua 的这一方面却鲜为人知
  • 寻找 Lua 4.1 alpha

    我正在帮助为一款相当老的游戏 孤岛惊魂 开发多人模式 我想编译lua代码 但游戏使用版本4 1 alpha 我在任何地方都找不到 lua 4 1 alpha tar gz http www lua org work old lua 4 1
  • 从lua中的函数返回多个值

    我正在尝试以下 lua 代码 function test return 1 2 end function test2 return test end function test3 return test 3 end print test p
  • 无法在cmake中使用find_package找到Lua标头

    我正在尝试使用 CMake 为我使用 Lua 的项目构建生成 make 文件 当我运行 make 时出现此错误 path to my project luaudio luaudio c 1 17 fatal error lua h No s
  • 错误 main.lua:23:尝试索引 upvalue 'Menu' (布尔值)

    我正在尝试用 lua 和 love2d 制作一个主菜单 这是我第一次这样做 遗憾的是没有关于此事的教程 所以我自己尝试了一下 我一直遇到这个错误 我不知道如何解决它 请帮助 完整错误消息 错误main lua 23 尝试索引upvalue
  • Lua中运算符~=是什么意思?

    什么是 Lua中的运算符是什么意思 例如 在以下代码中 if x params then the is not equals 这在其他语言中是等价的
  • Lua 中的“主”函数?

    在 python 中 通常会定义一个 main 函数 以便允许脚本用作模块 如果需要 def main print Hello world return 0 if name main sys exit main 在Lua中 这个习语if n
  • 访问 Lua 类型元表

    显然 getmetatable 可以访问几种类型的元表 getmetatable getmetatable getmetatable newproxy true 然而 似乎您无法获取其他类型的元表 除了函数 似乎无法访问数字 布尔值或 ni
  • 如何将 Lua 嵌入到 Python 3.x 中?

    是否可以将 Lua 嵌入到 Python 3 x 中 如果是这样 我如何在我的 Python 程序中运行和执行 Lua 脚本 语言之间的交互有多好 例如 Lua 是否可以访问 Python 的所有变量和类以及 Python 是否可以访问 L
  • 如何在表中表示 nil

    假设我想存储一个元素列表 包括一些零值 值的位置很重要 我需要表示列表中给定位置处不存在值 这里有一个问题 a 1 2 3 nil 4 for k v in ipairs a do print k v end print a 4 print
  • 什么时候适合使用Lua这样的嵌入式脚本语言

    我玩 魔兽世界 大约有两年了 我对用来编写插件的 Lua 很好奇 由于到目前为止我读到的有关 Lua 的内容都是 快 轻 和 这太棒了 所以我想知道如何以及何时使用它 您需要在系统中嵌入像 Lua 这样的脚本语言的典型情况是什么 当您需要最
  • Lua中如何在另一个表的表成员中搜索

    我正在编写一个 lua 程序 它有一个表 该表是另一个表的成员 当我向该成员表添加新日期时 一切正常 但是 当我想在该表中搜索时 无论我给出什么键 我总是会将最后一行添加到表中 如何在该成员表中正确搜索 Stream name functi
  • VB6 - Lua 集成

    我想知道是否有人有任何集成 Lua 和 VB6 的技巧 我正在运行一个小型在线角色扮演游戏 添加一些脚本会很棒 嗯 这是可行的 我曾经为 Lua 5 0 2 做过 但找不到文件 在您拥有的选项中 您可以 将 Lua 封装在公开 Lua AP
  • KAA 0.10.0 中使用 ESP8266 SDK 编译错误

    我根据以下内容构建了ESP8266 SDK这个文件 https kaaproject github io kaa docs v0 10 0 Programming guide Using Kaa endpoint SDKs C SDK ES
  • Lua 将字符串转换为数字 - 取决于语言环境

    刚刚注意到字符串 and tonumber 在 Lua 中是依赖于语言环境的 知道如何在不使用的情况下将字符串转换为数字tonumber 谢谢 例如将字符串 58 5 转换为 58 5 另外 当我尝试将带点的数字传递给函数时 该函数会转换

随机推荐

  • 从 LINQ to SQL 生成的 T-SQL 缺少 where 子句

    我有一个名为 CodeLookupAccessDataContext 的 DataContext 对象 它是通过 Visual Studio LINQ to SQL 类向导生成的 我扩展了该对象的功能 使其公开一些方法来返回 LINQ to
  • 如何将 javascript 代码注入到每个原型方法的开头?

    我想在 javascript 中注入代码 用于调试目的 在每个人我的 JavaScript 方法原型 这个例子只显示了一个类 但是假设我有数百个类 每个类有几十个方法 该机制应该在原型级别执行 而不需要指定每个类 方法名称 function
  • 何时“让它崩溃”以及何时捍卫 Erlang 中的代码?

    因此 带着 让它崩溃 的口号 Erlang 代码意味着能够抵御残酷的世界事件 例如意外拔出插头 硬件故障和不稳定的网络连接 另一方面 有防御性编程 https en wikipedia org wiki Defensive programm
  • Coq QArith 除以零就是零,为什么?

    我注意到在 Coq 的有理数定义中 零的倒数被定义为零 通常 除以零是没有明确定义 合法 允许的 Require Import QArith Lemma inv zero is zero 0 0 Proof unfold Qeq refle
  • 启动时不继承父文件描述符

    我需要使用 start 命令在 winXP 上启动一些进程 听起来很简单 但是有没有办法让启动的进程不会继承父进程的任何端口 我在我的程序中使用以下方法启动孩子 system start x params 现在 当父进程被杀死时 我无法再次
  • 二叉搜索树的广度优先遍历 C++

    也许是快速 简单的问题 我已经实现了一个二叉树 然后我希望将二叉搜索树转换为数组 或者至少像在数组中一样打印出来 我遇到的问题是如何获取 0 中的 NULL 标志 例如 假设我有一棵树 如下所示 10 6 12 1 8 15 4 我希望它按
  • 如何在 Cakephp 中发出 https post 请求

    我有一个要求 应用程序必须通过 HTTPS POST 进行 REST API 调用 我是 cakephp 的新手 我在想是否可以使用 httpsocket 进行 https 调用 我很感激任何帮助 Thanks 您可以使用其中任何一个 CA
  • MacPorts gcc48 无法识别命令行选项“-stdlib=libc++”

    Context 我正在尝试编译包 root numpy 它是科学分析软件 root 和python包 numpy 之间的链接 它用作根包装器 rootpy 的一部分 执行以下行时出现 g 错误 g bundle undefined dyna
  • EF AddOrUpdate 种子不更新子实体

    我在播种数据时遇到一些问题 我能够使用一个非常小的应用程序重现该问题 鉴于您有这种种子方法 protected override void Seed JunkContext context context Junks AddOrUpdate
  • GCM 响应中的multicast_id 是什么?

    示例场景 我正在使用 GCM 向多个设备发送消息 响应包含 multicast id 我该如何使用这个值 Thanks 它只是一个标识符 多播ID标识多播消息的唯一 ID 编号 该 ID 没有用处 除非您希望将其作为 Google 的 收据
  • npm运行服务报错

    我在运行命令时遇到问题 npm 运行服务 要修复它 我需要注销或重新启动我的 Ubuntu 16 04 我检查了正在运行的任务 节点没有运行 我还卸载了node和npm并再次使用NVM安装 但我仍然有问题 NPM错误日志 gt email
  • SSIS 包中的步骤如何检查时间?

    我的控制流中的起始项目需要是检查时间并设置变量的项目 控制流项中是否有一个项可以做到这一点 访问您的系统变量 System StartTime 将是包开始执行的时间 如果开始执行和需要评估当前时间的元素之间有很长的时间 您可以查看 Cont
  • SQL Server - 向所有表添加默认约束

    有没有办法编写一个脚本来检查数据库中的每个表 寻找uniqueidentifier列名为ID 然后添加一个DEFAULT的约束NEWID 到列 如果DEFAULT约束不存在 根据OP的评论澄清进行编辑 该脚本创建一个DEFAULT的约束NE
  • 解决方案范围内的预构建活动?

    我在 Visual Studio 中有一个解决方案 其中包含多个项目 我想在每次构建的一开始就运行一个命令 无论涉及哪些项目以及它们是否是最新的 本质上 我需要类似于解决方案范围内的预构建事件的东西 但不幸的是 VS 似乎不支持这些 有谁知
  • Haskell:解析命令行参数

    这更多的是一个风格问题 而不是一个如何做的问题 所以我有一个需要两个命令行参数的程序 一个字符串和一个整数 我是这样实现的 main do args aString aInteger lt getArgs let parsed n read
  • 多列代表一个值时的频率表 (R)

    我有一个这样的数据集 ID color1 color2 color3 shape1 shape2 size 55 red blue NA circle triangle small 67 yellow NA NA triangle NA m
  • 数据库连接何时以及为何昂贵?

    我正在对数据库进行一些研究 并且正在研究关系数据库的一些局限性 我发现大表的连接非常昂贵 但我不完全确定为什么 DBMS需要做什么来执行连接操作 瓶颈在哪里 非规范化如何帮助克服这种费用 其他优化技术 例如索引 有何帮助 欢迎个人经历 如果
  • Eclipse 配置错误:无效的 Google App Engine 目录

    我在创建 Pydev Google App Engine 项目时遇到问题 配置在选择 Google App Engine 目录时停止 以下是我将目录指向 C Program Files Google google appengine 后遇到
  • Android Studio 2.2 不支持的方法异常

    我将我的 android studio 更新到了 2 2 现在 当我打开并运行以前的项目时 我收到错误 UnsupportedMethodException Unsupported method AndroidProject getPlug
  • Sntp.sync() 忽略服务器

    我一直在尝试与 ntp 服务器同步时间 但是 nodemcu 似乎忽略了服务器参数 sync lua sntp sync fr pool ntp org function tm rtctime epoch2cal rtctime get p