【发布时间】:2020-11-28 16:33:30
【问题描述】:
我正在尝试通过 Flutter HTTP Get 方法从我的 Google 电子表格中获取日期和时间数据。 但是问题是当我阅读它时,日期和时间被读取为不同的格式。 例如, 在 Google Sheet 中,只写了“2020-11-27”。但是当我从 Flutter 中读取它时,它显示为“2020-11-27T00:00:00Z”。 我尝试将数据强制转换为字符串,但现在我得到了“2020 年 1 月 13 日星期一 00:00:00 GMT+0900”。 有没有人可以帮助我按原样阅读它?我的意思是字符串格式。
时间也是一样的。 我在 Google Sheet 中只写了 11:10,但是当我从 Flutter 中读取时,它显示为 1899-12-30 11:42:08。 我现在知道时间从哪里来...
请在下面找到我的代码并帮助我。 谢谢。
Google 电子表格数据。
test 2020-01-13 11:10 2022-11-01 3:03
Google 脚本代码
function doGet(request){
var data = [];
// Open Google Sheet using ID
var SpreadSheets = SpreadsheetApp.openById("ID");
// Get all values in active sheet
var Sheet = SpreadSheets.getSheetByName("Data");
var values = Sheet.getDataRange().getValues();
// Iterate values in descending order
for (var i = values.length - 1; i > 0; i--)
{
// Get each row
var row = values[i];
// Create object
var feedback = {};
// ↓ String Casting and Org assignment. Both are not okay.
feedback['DepartureDate'] = row[1].toString();
feedback['DepartureTime'] = row[2].toString();
feedback['ArrivalDate'] = row[3].toString();
feedback['ArrivalTime'] = row[4].toString();
//feedback['DepartureDate'] = row[1];
//feedback['DepartureTime'] = row[2];
//feedback['ArrivalDate'] = row[3];
//feedback['ArrivalTime'] = row[4];
// Push each row object in data
data.push(feedback);
}
// Return result
return ContentService
.createTextOutput(JSON.stringify(data))
.setMimeType(ContentService.MimeType.JSON);
}
Flutter HTTP 获取代码
Future<List<DriveRecordForm>> getData_Easy() async {
final response = await http.get(URL);
if (response.statusCode == 200) {
var temp = convert.jsonDecode(response.body); // I checked response.body and the date and time is diffent from my expectation. (Expecation: 2020-01-13 / Result: Mon Jan 13 2020 00:00:00 GMT+0900...
谢谢。
【问题讨论】:
标签: json flutter dart google-apps-script google-sheets