| 窗口程序集名 | 保 留 | 保 留 | 备 注 |
| 窗口程序集_启动窗口 | | | |
| 变量名 | 类 型 | 数组 | 备 注 |
| 网络数据报1 | 网络数据报 | |
数据报1.
发送数据 (“time.windows.com”, 123,
取重复字节集 (48,
{ 27
}))
调试输出 (“数据报”,
NTP协议解析 (数据报1.
取回数据 (),
假))
网络数据报1.
配置 (0
) NTP.对方IP =
转换为IP地址 (“time.windows.com”) NTP.对方端口 = 123
如果真 (网络数据报1.
发送 (NTP,
取重复字节集 (48,
{ 27
}), 500
))
调试输出 (“网络数据报”,
NTP协议解析 (网络数据报1.
接收 (500, NTP,
),
真))
网络数据报1.关闭 ()|
| NTP协议解析 | 文本型 | |
|
| 时间戳字段 | 字节集 | | | |
精确到毫秒 | 逻辑型 | | | |
| 变量名 | 类 型 | 静态 | 数组 | 备 注 |
| NTP时间戳整数秒 | 长整数型 | | |
| UNIX时间戳 | 长整数型 | | |
| NTP时间戳小数秒 | 文本型 | | |
| 局_返回 | 文本型 | | |
如果真 (取字节集长度 (时间戳字段
) = 48
)
NTP时间戳整数秒 =
取字节集数据 (到字节集 (反转整数字节序 (取字节集数据 (时间戳字段,
#整数型, 41
))
),
#长整数型, ) 
UNIX时间戳 = NTP时间戳整数秒 - 2208988800

判断 (精确到毫秒
)

NTP时间戳小数秒 =
到文本 (四舍五入 (取字节集数据 (到字节集 (反转整数字节序 (取字节集数据 (时间戳字段,
#整数型, 45
))
),
#长整数型, ) ÷ 4294967296, 3
) × 1000
)

局_返回 =
到文本 (UNIX时间戳
) + NTP时间戳小数秒


局_返回 =
到文本 (UNIX时间戳
)
返回 (局_返回)_按钮_数据报_被单击 ()_按钮_网络数据报_被单击 ()