有什么方法可以在Google Spreadsheet中创建时间戳?


31

我使用PSPad作为文本编辑器,它允许您按Alt+ D插入时间戳,例如:

2010-07-17 23:45:44

有没有办法在Google Spreadsheet中执行此操作?


4
这有助于将Google文档用作工程日志之类的文件。+1。
Thomas Owens 2010年

1
是的,我将google docs用作网站的外部数据源,并且由于这个原因希望能够打上时间戳
Edward Tanguay 2010年

1
@EdwardTanguay,如果您有任何机会通过,那么您应该将正确答案更改为投票最多的答案:)
Lipis 2015年

1
建议读者使用最佳答案,即使它目前不在最佳位置。

Answers:


8

我使用AutoHotKey来执行此功能。

AutoHotKey是Windows脚本应用程序和语言。

我在下面使用的代码很容易修改,以插入时间并将斜杠更改为连字符(如果您愿意)。

+!d:: ;Shift-Alt-D: Insert current date
SendInput %A_DD%/%A_MM%/%A_YYYY%
return

是的,autohotkey是我的朋友,奇怪的是我为此忘记了,我使用了%A_YYYY%-%A_MM%-%A_DD%%A_Hour%:%A_Min%:%A_Sec%,它的运行效果非常好,谢谢!
爱德华·坦格

不用担心,很高兴我提醒您:)
tobeannounced 2010年

39

Google表格支持以下键盘快捷键:

  • Ctrl+ Shift+ :是插入时间的按键。

  • Ctrl+ ;是插入日期的按键。

  • Ctrl+ Alt+ Shift+ :是插入日期和时间的按键。

有关更多详细信息请参见键盘加速器,助记符和快捷方式


4
这类似于Microsoft Excel,但是与Excel不同,您似乎不能为了产生完整的时间戳而将一个快捷方式与另一个快捷方式并用。Google文档中的快捷方式似乎仅在选中整个单元格时才起作用,而在编辑时不起作用,因此您只能使用此方法获得日期或时间,而不能同时获得两者。
MrWhite 2012年

3
真好!请注意,这仅适用于电子表格,不适用于文档。
jimmyorr'9

1
@Rubén现在两者都有!(h / t kolenCameron Crest

不能在firefox linux上使用:-(有办法通过菜单获得此功能吗?? !!
Philippe Gachoud

13

我创建了一个小脚本,将字符串文字“ _now”转换为当前日期时间-


function onEdit(e) {
  if (e.range.getValue() == "_now") {
    e.range.setValue(new Date());
  }
}

我觉得很方便键入_now并将其转换为当前日期时间值。

请参阅https://developers.google.com/apps-script/quickstart/macroshttps://developers.google.com/apps-script/understanding_events,以获取有关如何将其添加到Google Spreadsheet的更多信息。


1
Google Apps脚本的功能
Jacob Jan Tuinstra 2013年

4
如果考虑跨所有平台(而不仅仅是针对Windows),那么这应该是答案。
罗伯特

@Robert,webapps.stackexchange.com/ a/ 24692/10579不是更好的答案吗?
Pacerier

@Pacerier我不认为,因为这些快捷方式只会添加日期或时间。不是OP要求的日期/时间。阅读您提供的链接上的评论。
Jacob Jan Tuinstra 2015年

使用此脚本创建的时间戳的格式在此处介绍

7

您可以在以下位置放入一个书签:

javascript:var thetime=new Date();var txtNode=document.createTextNode((thetime.getMonth()+1)+'/'+thetime.getDate()+'/'+thetime.getFullYear()+' '+thetime.getHours()+':'+thetime.getMinutes()+':'+thetime.getSeconds()); var myInputNode=document.getElementsByClassName('cell-input')[1]; if (myInputNode.hasChildNodes()) {  myInputNode.replaceChild(txtNode, myInputNode.childNodes[0]); } else { myInputNode.appendChild(txtNode); }; void(0);

然后编辑单元格,然后单击小书签。


您如何放置小书签?
Ruby

Ruby-您可以将我在此处创建的按钮拖动到书签栏。
SelfPublish.org

2
  1. 在附近的单元格中或在冻结的窗格中,输入=today()单元格以获取当前日期。
  2. 复制该单元格,然后在将值粘贴到想要日期戳的单元格中时,使用编辑菜单中的(仅粘贴特殊→粘贴值)来获取静态日期和时间。

等效地,先按Ctrl-C,再按Ctrl-Shift-V(不到达菜单)。可以使用相同的方法在同一单元格中=now()获取日期时间:可以说,这是没有脚本的最简单方法。

2

当前日期时间的公式为=now()。可以使用它来创建静态时间戳,如下所示:

  1. 输入=NOW()单元格
  2. 复制此值与 CtrlC
  3. 与粘贴到同一单元格中CtrlShiftV (或在其他平台上等同于“仅粘贴文本”)

2
那不是时间戳,不是吗?它只是显示电子表格打开时的当前日期/时间,不是吗?
ale

1

Google表格不支持它,但是您可以在没有外部应用的情况下尝试另一种解决方法:

  1. 插入评论(Ctrl+ M
  2. 从那里复制时间戳(Ctrl+ CCtrl+ X
  3. 删除评论(右键单击>删除)
  4. 粘贴时间戳记(Ctrl+ V

(如果您使用的是MacOS,请使用Cmd代替Ctrlfor Copy/Cut/Paste,而使用Ctrl+ M来插入注释,因为Cmd+ M会将窗口最小化。)


1

我还为此创建了一个脚本,并且我想要一种默认时间戳(如in =TODAY()=NOW())中不可用的格式。

它还根据当前会话(在工作表的首选项中设置)获取时区。

function _NOW(input)
{
  // for formatting, see:
  // https://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html
  var timestamp_format = "yyyy-MM-dd hh:MM a"; // Timestamp Format eg: 2019-04-11 12:04 PM
  var timezone = Session.getScriptTimeZone();
  var date = Utilities.formatDate(new Date(), timezone, timestamp_format);
  return date;
}

使用起来很简单:

=_NOW()

需要说明的是:我手动进行了日期格式化,因为Google表格中的自定义日期格式是一大堆垃圾(无法将自定义格式设置为默认格式,无法在不删除所有内容的情况下更改日期/时间元素的顺序首先并一次添加每个部分)。


每次调用都在同一时间结束

@nhed每次调用此脚本时(例如打开电子表格时),它将以该格式以字符串形式返回当前日期。如果您想要一个永久的,永不更新的时间戳,可以将其放在一个单元格中并从该单元格中复制值,然后将其粘贴到所需的位置。
Kyle Falconer

我将脚本添加到了桌面浏览器中,并且电子表格已经在我的手机上打开了...它仍在手机上生成与我的桌面上相同的时间戳...要求我关闭然后重新打开以添加数据点似乎不可行...我将您的格式设置与上面的其他功能结合使用,从而为我
带来了

0

您可以参考本教程,它也包含视频。在脚本代码中,更改

var timestamp_format = "MM-dd-yyyy"; // Timestamp Format.

默认情况下,它只给您日期,请更改为以下代码以获取时间。

var timestamp_format = "MM-dd-yyyy hh:mm:ss"; // Timestamp Format.

这是你想要的 ?我试过了,效果很好。


0

坦瓜,我刚刚对此进行了测试=IF(A2<>"",NOW(),"")。如果A2有一个值,则它输入时间戳。如果A2为空,则不会在时间戳列中输入时间戳。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.