Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Google添加了一个永久的时间戳

Google添加了一个永久的时间戳
EN

Stack Overflow用户
提问于 2022-09-15 04:09:26
回答 1查看 37关注 0票数 0

我正在设置一个工作表,根据任务的进度,一个人将能够在不同的时间选中一个复选框。因此,对于许多不同的任务,每行有5个复选框。

现在,我们的想法是,当你检查其中一个复选框时,在接下来的几个单元格中会出现一条消息。因此,消息构建在3个单元格中。第一个单元格只是文本,第二个单元格是日期,第三个单元格是时间。此外,这些单元格每个有5个段落(每个复选框一个)。

当我试图使时间戳停留在输入时的时候,问题就出现了。就像现在一样,每次我更新Google页面的任何部分时,时间都会发生变化。

我把我的公式设置如下:

关于短信:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=IF($C4=TRUE,"Insert text 1 here","")&CHAR(10)&IF($E4=TRUE, "Insert text here","")&CHAR(10)&IF($G4=TRUE, "Insert text 3 here","")&CHAR(10)&IF($I4=TRUE, "Insert text 4 here,"")&CHAR(10)&IF($K4=TRUE, "Insert text 5 here","")

日期:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=IF($C4=TRUE,(TEXT(NOW(),"mmm dd yyyy")),"")&CHAR(10)&IF($E4=TRUE,(TEXT(NOW(),"mmm dd yyyy")),"")&CHAR(10)&IF($G4=TRUE,(TEXT(NOW(),"mmm dd yyyy")),"")&CHAR(10)&IF($I4=TRUE,(TEXT(NOW(),"mmm dd yyyy")),"")&CHAR(10)&IF($K4=TRUE,(TEXT(NOW(),"mmm dd yyyy")),"")

就目前而言:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
=IF($C4=TRUE,(TEXT(NOW(),"HH:mm")),"")&CHAR(10)&IF($E4=TRUE,(TEXT(NOW(),"HH:mm")),"")&CHAR(10)&IF($G4=TRUE,(TEXT(NOW(),"HH:mm")),"")&CHAR(10)&IF($I4=TRUE,(TEXT(NOW(),"HH:mm")),"")&CHAR(10)&IF($K4=TRUE,(TEXT(NOW(),"HH:mm")),"")

一切看起来都是这样的:

如果有人能帮我把这件事做好,以便在选中这些框后插入日期和时间,这样它们就不会再次改变,我将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2022-11-11 00:42:20

请注意,您的斗争与不断变化的日期时间。在过去的一年里,我和你一样挣扎,我找到了一个很好的解决方案。但是它需要用应用程序脚本做一些“肮脏的工作”。

我的案例中的一些背景

  • 我在电子表格中有多个表来运行并生成时间戳。
  • 我想跳过我的第一张纸而不运行,在其中生成时间戳。
  • 我想要每个编辑,即使我从Excel粘贴的每个值都要生成时间戳
  • 我希望时间戳是单独的,每一行都有自己的时间戳,精确到每一秒。
  • 我不希望在编辑任何其他行时对整个工作表时间戳进行全面刷新
  • 我有一个必须填充值的列,以证明是否需要为该特定行生成时间戳。
  • 我只想在专用列上指定时间戳。
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
function timestamp() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const totalSheet = ss.getSheets();

  for (let a=1; a<totalSheet.length; a++) {
    let sheet = ss.getSheets()[a];
    let range = sheet.getDataRange();
    let values = range.getValues(); 

    function autoCount() {
      let rowCount;
      for (let i = 0; i < values.length; i++) {
        rowCount = i
        if (values[i][0] === '') {
          break;
        }
      }
      return rowCount
    }

    rowNum = autoCount()

    for(let j=1; j<rowNum+1; j++){
      if (sheet.getRange(j+1,7).getValue() === '') {
        sheet.getRange(j+1,7).setValue(new Date()).setNumberFormat("yyyy-MM-dd hh:mm:ss");
      }
    }
  }
}

解释

  1. 首先,我用getSheets()制作了一个getSheets(),并使用一个for循环运行它。即识别该电子表格中的工作表总数。注意,在这里,我让let a=1;假设所有的JavaScript都一样,从0开始,值1跳过第一个工作表,然后在第二个工作表上运行
  2. 然后,您将注意到循环中有一个函数let sheet = ss.getSheets()[a]。请注意,如果您在const变量中的值不断地更改,则不应该使用let,所以使用let会很好。
  3. 然后,您将看到一个function autoCount()。也就是说,创建一个for循环来计数在其中编辑了值的行数。if (values[i][0] === '')将导航脚本,搜索具有值的整个工作表,查看行i和列0。在这里,0表示工作表的第一列,而i是工作表的行。是的,它的工作方式就像一个带有json感觉的panda对象。
  4. 然后,通过运行autoCount()找到被编辑的行数。给它一个rowNum变量来包含结果。
  5. 然后,将该rowNum传递到一个新的for循环中,并使用if (sheeet.getRange(j+1,7).getValue() === '')来确定哪一行没有使用时间戳进行编辑。请注意,这里的7表示工作表的第7列是我需要时间戳的地方。
  6. for循环中,是以指定的("yyyy-MM-dd hh:mm:ss")格式对日期进行setValue。你可以随意编辑成你喜欢的任何风格。
  7. ohya,请记住部署以激活触发器,事件类型为On Change。这并不限于编辑,但是对于所有类型的更改,,包括粘贴

下面是一张截图,介绍一下它的样子:

最后,请注意我的一些背景,然后才决定是否有解决办法为您的情况工作。干杯,快乐编码~!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73730882

复制
相关文章
时间,时间戳
将如上的时间2016-05-05 20:28:54转换成时间戳,具体的操作过程为:
zhengzongwei
2019/07/31
5.1K0
时间戳 时间
背景 由于团队业务做的是国际项目,就无法避免一个问题--时区问题,很多业务都是跟时间有关。一些时间的对比,时间的展示,都会涉及到时区和时间戳,所以花点时间来简单总结一下 概念 时间戳 时间戳是一个自增的整数,它表示从1970年1月1日零时整的GMT时区开始的那一刻,到现在的毫秒数。假设浏览器所在电脑的时间是准确的,那么世界上无论哪个时区的电脑,它们此刻产生的时间戳数字都是一样的,所以,时间戳可以精确地表示一个时刻,并且与时区无关。 时区 时区(Time Zone)是地球上的区域使用同一个时间定义。188
千往
2018/01/24
5.8K0
Python获取当前时间戳_时间转换时间戳
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/10
9.6K0
Unix 时间戳;时间戳获取和生成
Unix时间戳(Unix timestamp),或称Unix时间(Unix time)、POSIX时间(POSIX time),是一种时间表示方式,定义为从格林威治时间1970年01月01日00时00分00秒起至现在的总秒数。
西湖醋鱼
2020/12/30
9.2K0
Linux时间戳转换_时间戳转换软件
在大多数 UNIX 系统中,当前时间存储为自特定时刻以来经过的时间以简化,将时间保持为长整数。所有 UNIX 系统普遍接受的时刻是 1970 年 1 月 1 日凌晨 12:00:00。 这称为 UNIX 时间戳,并被所有现代 UNIX/Linux 系统识别。
全栈程序员站长
2022/11/09
15.7K0
Linux时间戳转换_时间戳转换软件
Python获取时间戳_python爬虫时间戳
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189145.html原文链接:https://javaforall.cn
全栈程序员站长
2022/09/27
5.9K0
java当前时间的时间戳_java获取当前时间(时间戳)的方法
Calendar.getInstance().getTimeInMillis();
全栈程序员站长
2022/06/28
9K0
java当前时间的时间戳_java获取时间戳和当前时间
Calendar.getInstance().getTimeInMillis();
全栈程序员站长
2022/08/18
8.6K0
Linux时间戳转换_如何获取时间戳
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/09
13.2K0
时间戳
时间戳是自 1970 年 1 月 1 日(00:00:00 GMT)以来的秒数。它也被称为 Unix 时间戳(Unix Timestamp)。
KEVINGUO_CN
2020/03/17
3.9K0
java 时间戳字符串_Java获取当前时间戳/时间戳转换
public classApp {public static voidmain(String[] args) {//精确到毫秒//获取当前时间戳
全栈程序员站长
2022/08/11
8.4K0
获取当前时间的时间戳
不懂time模块或其他内置模块的小朋友可以参考我这篇博客:python 内置模块
HammerZe
2022/05/09
8K0
获取当前时间的时间戳
linux 日期转换时间戳_将时间戳转为时间
最近项目上需要用到时间戳,查找了资源终于找到了实现方式,最后时间戳还需要转换成具体的日期格式,查阅了一些资料,还是没有找到具体的实现方式,所以这里总结一些,防止其他小伙伴就掉坑,实现是在freeRTOS系统上的,当前我在linux下尝试实现以下。
全栈程序员站长
2022/11/10
10.5K0
linux 日期转换时间戳_将时间戳转为时间
Android 获取时间戳 和时间戳转日期
获取系统时间戳 public String getTime(){ long time=System.currentTimeMillis()/1000;//获取系统时间的10位的时间戳 String str=String.valueOf(time); return str; } 、获取系统时间 long currentTime = System.currentTimeMillis(); SimpleDateFormat formatter = new SimpleDateForma
程思扬
2022/01/10
6.9K0
php中的时间戳与javascript中的时间戳的比较
php中的时间戳与javascript中的时间戳的比较,本质上看,它们是一样的东西,但如果二者要进行相等比较的时候,还是有点不同的,稍不注意,就会误入歧途,所以,这里列出容易忽略的两点不同,供大家参考:
风柏杨4711
2021/03/15
3.4K0
时间戳转换
生成当前时间戳 root@BJ-CentOS7 ~ # date +%s 转换指定时间为时间戳 root@BJ-CentOS7 ~ # date -d "2019-01-24 14:35" +%s 转
大大大黑白格子
2020/06/10
6.1K0
一个MySQL时间戳精度引发的血案
最近工作中遇到两例mysql时间戳相关的问题,一个是mysql-connector-java和msyql的精度不一致导致数据查不到;另一例是应用服务器时区错误导致数据查询不到。
猿天地
2019/09/17
2.9K0
一个MySQL时间戳精度引发的血案
java时间戳
  时间戳是指文件属性里的创建、修改、访问时间。 数字时间戳技术是数字签名技术一种变种的应用。在电子商务交易文件中,时间是十分重要的 信息。在书面合同中,文件签署的日期和签名一样均是十分重要的防止文件被伪造和篡改的关键性内容。
Java架构师必看
2021/05/21
2.5K0
java时间戳
PHP时间戳
我们可以通过 date() 函数提供的丰富格式化来显示需要的时间日期,如下面的例子:
我不是费圆
2020/09/21
5.7K0
python 时间 时间戳 互转
ltime=time.localtime(19532546) timeY=time.strftime("%Y-%m-%d %H:%M:%S",ltime) print(timeY) #2018-09-09
用户5760343
2022/01/09
1.5K0

相似问题

Google几张时间戳

14

Google :时间戳扫描

20

Google脚本时间戳

10

JavaScript到PHP的时间戳失败,增加了大约一个半月的时间

11

jQuery附加了没有时间戳的参数?

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文