【发布时间】:2021-03-11 12:43:58
【问题描述】:
我已经设置了颤振项目从我的谷歌表中获取数据,使用 Package gsheets 0.2.6 来获取数据 当我获取数据时,使用打印检查 DateTime ,我可以验证日期时间是否正确,例如“2021-03-11 13:41:05”,但使用时
factory ShpTable.fromGsheets(Map<dynamic, dynamic> json) {
return ShpTable(
DateTime: DateTime.parse(json['DateTime'].toString()),
)}
我只能像“44265.671747685185”这样观看日期值 我试过用过
DateTime.Parse(json['DateTime'].toString()).toString()
但是得到无效的数据格式
或
DateTime.tryParse(json['DateTime'].toString() ?? '').toString()
仅反馈无效
我也试过了
DateTime.fromMicrosecondsSinceEpoch(int.Parse(json['DateTime'].toString().trim() )
还是不行。 我该如何解决这个问题?
我的清单
factory ShpTable.fromGsheets(Map<dynamic, dynamic> json) {
return ShpTable(
teamsName: json['TeamsName'].toString().trim(),
teamOrde: json['TeamOrde'].toString().trim(),
shpt: json['Shpt'].toString().trim(),
dp: json['DP'].toString().trim(),
delivery: json['Delivery'].toString().trim(),
country: json['Country'].toString().trim(),
items: int.tryParse(json['Items'] ?? ''),
orde: json['Orde'].toString().trim(),
shipTo: json['ShipTo'].toString().trim(),
shipmentNo: json['ShipmentNo'].toString().trim(),
shipmentDateTime: json['ShipmentDateTime'].toString().trim(),
serviceStart: json['Service_Start'].toString().trim(),
serviceEnd: json['Service_End'].toString().trim(),
kpi: int.tryParse(json['KPI_Hour'] ?? ''),
status: json['STATUS'].toString().trim() ,
shpCondition: json['SHPCondition'].toString().trim(),
);
}
【问题讨论】:
-
“44265.671747685185”代表什么?如果我将“2021-03-11 13:41:05”转换为时间戳,它看起来像“1615466465000”,因此该值不是 unix 时间戳
-
但使用 Excel 或 Google 表格,您可以将日期字符串转换为日期值,例如 2021-02-28 Datevalue("2021-02-28") ==> 44255