Arduino:如何用毫秒将历元转换为历元
我目前正在通过HTTP从外部源下载JSON。工作没有任何问题。然后我用ArduinoJson解析它Arduino:如何用毫秒将历元转换为历元,arduino,epoch,Arduino,Epoch,我目前正在通过HTTP从外部源下载JSON。工作没有任何问题。然后我用ArduinoJson解析它 String payload = https.getString(); const size_t capacity = JSON_ARRAY_SIZE(1) + JSON_OBJECT_SIZE(9) + 210; DynamicJsonDocument jsonDoc(capacity); deserializeJson(jsonDoc, payload); JSON中包含一个很大的数字:
String payload = https.getString();
const size_t capacity = JSON_ARRAY_SIZE(1) + JSON_OBJECT_SIZE(9) + 210;
DynamicJsonDocument jsonDoc(capacity);
deserializeJson(jsonDoc, payload);
JSON中包含一个很大的数字:
[{"date":1579459067000,"dateString":"2020-01-19T18:37:47Z"}]
因为我需要不带millis的unixtimestamp?我试过用long和double,但是它太大了。
如何将这个大数字1579459067000转换为1579459067,还是应该解析日期字符串
最后,我需要的数字,只要它长
提前谢谢 要使用ArduinoJson处理64位整数,必须使用
#define ARDUINOJSON_USE_LONG_LONG 1 // we need to store long long
#include <ArduinoJson.h>
\define ARDUINOJSON\u USE\u LONG\u LONG 1//我们需要存储LONG LONG
#include,我在Uno和esp8266上测试了ArduinoJson版本6。它起作用了
#define ARDUINOJSON_USE_LONG_LONG 1 // we need to store long long
#include <ArduinoJson.h>
const char* json = "{\"date\":1579459067000,\"dateString\":\"2020-01-19T18:37:47Z\"}";
void setup() {
Serial.begin(115200);
StaticJsonDocument<200> doc;
deserializeJson(doc, json);
uint64_t t = doc["date"];
Serial.println((unsigned long) (t / 1000));
}
void loop() {
}
\define ARDUINOJSON\u USE\u LONG\u LONG 1//我们需要存储LONG LONG
#包括
const char*json=“{\'date\':1579459067000,\'dateString\':\'2020-01-19T18:37:47Z\'”;
无效设置(){
序列号开始(115200);
静态文件;
反序列化json(doc,json);
uint64_t=单据[“日期”];
序列号println((无符号长)(t/1000));
}
void循环(){
}
tryuint64\u t
type当我用{“日期”:157946666000}
尝试时,我得到了Serial.println(PriUint64(日期))代码>:1579462034041?!两者相差631959 ???“PriUint64(date)”中的日期是什么?@Jurajuint64\u t date=jsonDoc[0][“date”]