Có cách nào để tạo dấu thời gian trong Bảng tính Google không?


31

Tôi sử dụng PSPad làm trình chỉnh sửa văn bản, cho phép bạn nhấn Alt+ Dđể chèn dấu thời gian, ví dụ:

2010-07-17 23:45:44

Có cách nào để làm điều này trong Bảng tính Google không?


4
Điều này sẽ hữu ích trong việc sử dụng tài liệu Google dưới dạng nhật ký kỹ thuật. +1.
Thomas Owens

1
vâng, tôi sử dụng tài liệu google làm nguồn dữ liệu bên ngoài cho các trang web và muốn có thể đánh dấu thời gian vì lý do này
Edward Tanguay

1
@EdwardTanguay nếu bạn có bất kỳ cơ hội nào đi qua .. bạn nên thay đổi câu trả lời đúng thành câu được bình chọn nhiều nhất :)
Lipis

1
Độc giả nên sử dụng câu trả lời tốt nhất , mặc dù nó hiện không được đặt lên hàng đầu.

Câu trả lời:


8

Tôi sử dụng AutoHotKey để thực hiện chức năng này.

AutoHotKey là một ứng dụng và ngôn ngữ kịch bản Windows.

Mã tôi sử dụng là bên dưới, nó có thể dễ dàng sửa đổi để chèn thời gian và thay đổi dấu gạch chéo thành dấu gạch nối nếu đó là những gì bạn thích.

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

vâng, autohotkey là bạn của tôi
Edward Tanguay


39

Google Sheets hỗ trợ các phím tắt sau:

  • Ctrl+ Shift+ :là tổ hợp phím để chèn thời gian.

  • Ctrl+ ;là tổ hợp phím để chèn ngày.

  • Ctrl+ Alt+ Shift+ :là tổ hợp phím để chèn ngày và giờ.

Xem Bàn phím tăng tốc, ghi nhớ và phím tắt để biết thêm chi tiết.


4
Điều này tương tự như Microsoft Excel, tuy nhiên, không giống như Excel, bạn dường như không thể theo một phím tắt này để tạo một dấu thời gian hoàn chỉnh. Phím tắt trong Google Docs dường như chỉ hoạt động khi toàn bộ ô được chọn, không phải khi nó đang được chỉnh sửa, vì vậy bạn chỉ có thể lấy ngày HOẶC thời gian với phương thức này, không phải cả hai.
MrWhite

3
Tốt đẹp! Lưu ý, điều này chỉ hoạt động cho Bảng tính, không phải Tài liệu.
jimmyorr

1
@ Rubén Bây giờ có một cho cả hai! (h / t kolenCameron Crest )

Không hoạt động trên firefox linux :-( có cách nào để có được chức năng này thông qua các menu ?? !!
Philippe Gachoud

13

Tôi đã tạo một tập lệnh nhỏ chuyển đổi chuỗi ký tự "_now" thành datetime hiện tại -


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

Tôi thấy nó khá tiện để gõ _nowvà chuyển nó thành giá trị datetime hiện tại.

Xem https://developers.google.com/apps-script/quickstart/macroshttps://developers.google.com/apps-script/under Hiểu_events để biết thêm thông tin về cách thêm phần này vào Bảng tính Google của bạn


1
Power to Google Apps Script
Jacob Jan Tuinstra

4
Đây sẽ là câu trả lời nếu xem xét trên tất cả các nền tảng không chỉ cho các cửa sổ.
Robert

@Robert, không phải webapps.stackexchange.com/a/24692/10579 một câu trả lời tốt hơn?
Pacerier

@Pacerier Tôi không nghĩ vậy vì những lần cắt ngắn này chỉ thêm ngày hoặc giờ. Không phải ngày / giờ OP yêu cầu. Đọc các bình luận được thực hiện tại liên kết bạn cung cấp.
Jacob Jan Tuinstra

Định dạng của dấu thời gian được tạo bằng tập lệnh này được đề cập ở đây .

7

Bạn có thể đặt một bookmarklet với vị trí này:

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);

sau đó chỉnh sửa ô và nhấp vào bookmarklet.


Làm thế nào để bạn đặt một bookmarklet?
Ruby

Ruby - bạn có thể kéo nút tôi đã tạo ở đây vào thanh dấu trang của mình.
SelfPublish.org

2
  1. Trong một ô gần đó hoặc trong một ô được đóng băng, nhập =today()vào một ô để lấy ngày hiện tại.
  2. Sao chép ô, sau đó sử dụng (Dán đặc biệt → Chỉ dán giá trị) từ menu chỉnh sửa, để có được ngày và giờ tĩnh, tại thời điểm bạn dán giá trị trong ô mà bạn muốn đóng dấu ngày.

Tương tự, sử dụng Ctrl-C theo sau là Ctrl-Shift-V (mà không cần đến menu). Cách tiếp cận tương tự có thể được sử dụng =now()để có được cả ngày thời gian trong cùng một ô: đây được cho là cách dễ nhất để làm điều này mà không cần tập lệnh.

2

Công thức cho thời gian hiện tại=now(). Điều này có thể được sử dụng để tạo dấu thời gian tĩnh như sau:

  1. Nhập =NOW()vào một ô
  2. Sao chép giá trị này với CtrlC
  3. Dán vào cùng một ô với CtrlShiftV (hoặc tương đương cho "chỉ dán văn bản" trên các nền tảng khác)

2
Đó không phải là dấu thời gian, phải không? Nó chỉ hiển thị ngày / giờ hiện tại khi bảng tính được mở, phải không?
ale

1

Google Sheets không hỗ trợ nó, nhưng bạn có thể thử một cách giải quyết khác mà không cần các ứng dụng bên ngoài:

  1. Chèn nhận xét ( Ctrl+ M)
  2. Sao chép TimeStamp từ đó ( Ctrl+ Choặc Ctrl+ X)
  3. Xóa bình luận (Nhấp chuột phải> Xóa)
  4. Dán TimeStamp ( Ctrl+ V)

(Nếu bạn đang dùng MacOS, hãy sử dụng Cmdthay vì Ctrlcho Copy/Cut/Paste, nhưng Ctrl+ Mđể chèn nhận xét, vì Cmd+ Mđang thu nhỏ cửa sổ.)


1

Tôi cũng đã tạo một tập lệnh cho điều này và tôi muốn một định dạng không có sẵn trong dấu thời gian mặc định (chẳng hạn như trong =TODAY()hoặc =NOW()).

Nó cũng lấy múi giờ dựa trên phiên hiện tại (được đặt trong tùy chọn của Trang tính).

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;
}

Sử dụng nó rất dễ dàng:

=_NOW()

Để làm rõ: Tôi đã thực hiện định dạng ngày theo cách thủ công vì định dạng ngày tùy chỉnh trong Google Sheets là một đống rác rực lửa (không có cách nào để đặt định dạng tùy chỉnh làm mặc định, không có cách nào thay đổi thứ tự của các yếu tố ngày / giờ mà không xóa mọi thứ đầu tiên và thêm từng phần một tại một thời điểm).


Đây rốt cuộc là thời cho mỗi invocation
nhed

@nhed mỗi khi tập lệnh này được gọi (chẳng hạn như khi bạn mở bảng tính), nó sẽ trả về ngày hiện tại ở định dạng đó dưới dạng chuỗi. Nếu bạn muốn một dấu thời gian là vĩnh viễn, không bao giờ cập nhật, bạn có thể đặt nó vào một ô và sao chép giá trị từ ô đó, sau đó dán nó vào nơi bạn muốn.
Kyle Falconer

Tôi đã thêm tập lệnh trên trình duyệt máy tính để bàn của mình và bảng tính đã được mở trên điện thoại của tôi ... nó vẫn đang tạo trên điện thoại của tôi cùng dấu thời gian trên máy tính để bàn của tôi ... yêu cầu tôi đóng và mở lại để thêm điểm dữ liệu 't dường như thực tế ... tôi kết hợp định dạng của bạn với một chức năng khác nhau ở trên để có được một cái gì đó mà làm việc cho tôi
nhed

0

Bạn có thể tham khảo hướng dẫn này , nó cũng chứa video. Trong mã script, thay đổi

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

Theo mặc định, nó chỉ cung cấp cho bạn ngày, thay đổi mã bên dưới để có thời gian.

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

Đây có phải là những gì bạn đang tìm kiếm ? Tôi đã thử nó và nó hoạt động hoàn hảo.


0

Tanguay, tôi vừa thử nghiệm điều này =IF(A2<>"",NOW(),""). Nếu A2 có giá trị thì nó sẽ nhập dấu thời gian. Nếu A2 trống thì dấu thời gian không được nhập vào cột dấu thời gian.


-1

=if(len(A2)>0;if(B2<>"";B2;now());"")

Trong Cài đặt, thay đổi giải pháp mạch thành 1 và nó sẽ hoạt động mà không cần JavaScript

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.