如何使用脚本将时间转换为Google表格中的十进制浮点数?

The*_*nil 6 google-sheets google-apps-script google-sheets-api

我想把时间HH:MM转换成H.xx

就像我以这种格式获取它: Sat Dec 30 00:00:00 GMT+05:21 1899

但是此值04:29在单元格中。我希望是4.5几个小时才能乘以小时率。

小智 16

只需将您的持续时间乘以 24。

例子:

Time In     | Time out   | Duration | Decimal
11:45:00 AM | 3:40:00 PM | 3:55:00  | 3.92
Run Code Online (Sandbox Code Playgroud)

您还必须将包含小数的单元格的格式从自动更改为数字,以便在 Google 表格中使用。

  • 简单而准确。谢谢 (3认同)

Die*_*ego 12

Google表格

在Google表格中,如果您在单元格中有日期/时间值(例如“ D9”),请使用=HOUR(D9)+(MINUTE(D9)/60)

如果该值以格式存储04:29,则使用=INDEX(SPLIT(D9, ":"), 1) + (INDEX(SPLIT(D9, ":"), 2)/60)


Google Sheets API和Google Apps脚本

如果要使用Google Sheets API或Google Apps脚本,则可以使用javascript。

您需要使用getMinutes()方法并除以60,然后将其加到小时中(使用getHours())。

var date = new Date();
var minutes = date.getMinutes();
var output = date.getHours() + (minutes/60);
Run Code Online (Sandbox Code Playgroud)

请注意,这忽略了秒。

如果单元格中的值存储为类似的字符串04:29,则需要将其拆分

var time = "04:29";
var hour = Number(time.split(":")[0]);
var minutes = Number(time.split(":")[1]);
var output = hour + (minutes/60);
Run Code Online (Sandbox Code Playgroud)

  • 拆分方法在谷歌表格中不起作用。已经尝试过这个了。 (2认同)

Ray*_*oss 5

您所需要的只是 TO_PURE_NUMBER()
https://support.google.com/docs/answer/3094243?hl=en

例子:

// The following
A1=DATEVALUE("2020-05-18 06:09:18.821 ")+TIMEVALUE("2020-05-18 06:09:18.821 ")
A2=TO_PURE_NUMBER(A1)
A3=TO_DATE(A2)

// Results in the following, first result is just a formatted date
2020-05-18 6:09:19
43969.25647
5/18/2020
Run Code Online (Sandbox Code Playgroud)