diff --git a/src/terminal-screen.c b/src/terminal-screen.c
index 82b3e42..db2d7d7 100644
--- a/src/terminal-screen.c
+++ b/src/terminal-screen.c
@@ -155,7 +155,8 @@ static void update_color_scheme                      (TerminalScreen *screen);
 
 static void terminal_screen_check_extra (TerminalScreen *screen,
                                          GdkEvent       *event,
-                                         char           **number_info);
+                                         char           **number_info,
+                                         char           **timestamp_info);
 static char* terminal_screen_check_match       (TerminalScreen            *screen,
                                                 GdkEvent                  *event,
                                                 int                  *flavor);
@@ -1462,6 +1463,7 @@ terminal_screen_popup_info_unref (TerminalScreenPopupInfo *info)
   g_weak_ref_clear (&info->window_weak_ref);
   g_free (info->url);
   g_free (info->number_info);
+  g_free (info->timestamp_info);
   g_slice_free (TerminalScreenPopupInfo, info);
 }
 
@@ -1500,7 +1502,8 @@ terminal_screen_do_popup (TerminalScreen *screen,
                           GdkEventButton *event,
                           char *url,
                           int url_flavor,
-                          char *number_info)
+                          char *number_info,
+                          char *timestamp_info)
 {
   TerminalScreenPopupInfo *info;
 
@@ -1511,6 +1514,7 @@ terminal_screen_do_popup (TerminalScreen *screen,
   info->url = url; /* adopted */
   info->url_flavor = url_flavor;
   info->number_info = number_info; /* adopted */
+  info->timestamp_info = timestamp_info; /* adopted */
 
   g_signal_emit (screen, signals[SHOW_POPUP_MENU], 0, info);
   terminal_screen_popup_info_unref (info);
@@ -1526,12 +1530,13 @@ terminal_screen_button_press (GtkWidget      *widget,
   gs_free char *url = NULL;
   int url_flavor = 0;
   gs_free char *number_info = NULL;
+  gs_free char *timestamp_info = NULL;
   guint state;
 
   state = event->state & gtk_accelerator_get_default_mod_mask ();
 
   url = terminal_screen_check_match (screen, (GdkEvent*)event, &url_flavor);
-  terminal_screen_check_extra (screen, (GdkEvent*)event, &number_info);
+  terminal_screen_check_extra (screen, (GdkEvent*)event, &number_info, &timestamp_info);
 
   if (url != NULL &&
       (event->button == 1 || event->button == 2) &&
@@ -1557,17 +1562,19 @@ terminal_screen_button_press (GtkWidget      *widget,
           if (button_press_event && button_press_event (widget, event))
             return TRUE;
 
-          terminal_screen_do_popup (screen, event, url, url_flavor, number_info);
+          terminal_screen_do_popup (screen, event, url, url_flavor, number_info, timestamp_info);
           url = NULL; /* adopted to the popup info */
           number_info = NULL; /* detto */
+          timestamp_info = NULL; /* detto */
           return TRUE;
         }
       else if (!(event->state & (GDK_CONTROL_MASK | GDK_MOD1_MASK)))
         {
           /* do popup on shift+right-click */
-          terminal_screen_do_popup (screen, event, url, url_flavor, number_info);
+          terminal_screen_do_popup (screen, event, url, url_flavor, number_info, timestamp_info);
           url = NULL; /* adopted to the popup info */
           number_info = NULL; /* detto */
+          timestamp_info = NULL; /* detto */
           return TRUE;
         }
     }
@@ -1933,7 +1940,8 @@ terminal_screen_check_match (TerminalScreen *screen,
 static void
 terminal_screen_check_extra (TerminalScreen *screen,
                              GdkEvent       *event,
-                             char           **number_info)
+                             char           **number_info,
+                             char           **timestamp_info)
 {
   guint i;
   char **matches;
@@ -1965,6 +1973,7 @@ terminal_screen_check_extra (TerminalScreen *screen,
                   if (!flavor_number_found)
                     {
                       *number_info = terminal_util_number_info (matches[i]);
+                      *timestamp_info = terminal_util_timestamp_info (matches[i]);
                       flavor_number_found = TRUE;
                     }
                   g_free (matches[i]);
diff --git a/src/terminal-screen.h b/src/terminal-screen.h
index be1e765..a4738ac 100644
--- a/src/terminal-screen.h
+++ b/src/terminal-screen.h
@@ -141,6 +141,7 @@ struct _TerminalScreenPopupInfo {
   char *url;
   TerminalURLFlavor url_flavor;
   char *number_info;
+  char *timestamp_info;
   guint button;
   guint state;
   guint32 timestamp;
diff --git a/src/terminal-util.c b/src/terminal-util.c
index ce354a1..8b29a26 100644
--- a/src/terminal-util.c
+++ b/src/terminal-util.c
@@ -1063,3 +1063,46 @@ terminal_util_number_info (const char *str)
 
   return g_strdup_printf(hex ? "0x%2$s = %1$s%3$s" : "%s = 0x%s%s", decstr, hexstr, magnitudestr);
 }
+
+/**
+ * terminal_util_timestamp_info:
+ * @str: a dec or hex number as string
+ *
+ * Returns: (transfer full): Formatted localtime if @str is decimal and looks like a timestamp, or %NULL
+ */
+char *
+terminal_util_timestamp_info (const char *str)
+{
+  time_t num;
+  struct tm tm;
+  char *res = NULL;
+
+  /* Bail out on hex numbers */
+  if (str[1] == 'x' || str[1] == 'X') {
+    return NULL;
+  }
+
+  /* Deliberately not handle octal */
+  errno = 0;
+  num = strtoull(str, NULL, 10);
+  if (errno) {
+    return NULL;
+  }
+
+  /* Java uses Unix time in milliseconds. */
+  if (num >= 1000000000000 && num <= 1999999999999) {
+    num /= 1000;
+  }
+
+  /* Fun: use inclusive interval so you can right-click on these numbers
+   * and check the human-readable time in gnome-terminal.
+   * (They're Sep 9 2001 and May 18 2033 by the way.) */
+  if (num >= 1000000000 && num <= 1999999999) {
+    res = g_malloc(100);
+    // tzset(); ???
+    localtime_r (&num, &tm);
+    strftime (res, 100, "%c", &tm);
+  }
+
+  return res;
+}
diff --git a/src/terminal-util.h b/src/terminal-util.h
index b8447f7..c6c275e 100644
--- a/src/terminal-util.h
+++ b/src/terminal-util.h
@@ -90,6 +90,7 @@ void terminal_g_settings_set_rgba_palette (GSettings      *settings,
 void terminal_util_bind_mnemonic_label_sensitivity (GtkWidget *widget);
 
 char *terminal_util_number_info (const char *str);
+char *terminal_util_timestamp_info (const char *str);
 
 G_END_DECLS
 
diff --git a/src/terminal-window.c b/src/terminal-window.c
index ed02d5e..e9a7a19 100644
--- a/src/terminal-window.c
+++ b/src/terminal-window.c
@@ -2094,7 +2094,7 @@ popup_clipboard_targets_received_cb (GtkClipboard *clipboard,
   TerminalScreen *screen = info->screen;
   GtkWidget *popup_menu;
   GtkAction *action;
-  gboolean can_paste, can_paste_uris, show_link, show_email_link, show_call_link, show_number_info;
+  gboolean can_paste, can_paste_uris, show_link, show_email_link, show_call_link, show_number_info, show_timestamp_info;
 
   window = terminal_screen_popup_info_ref_window (info);
   if (window == NULL ||
@@ -2116,6 +2116,7 @@ popup_clipboard_targets_received_cb (GtkClipboard *clipboard,
   show_email_link = info->url != NULL && info->url_flavor == FLAVOR_EMAIL;
   show_call_link = info->url != NULL && info->url_flavor == FLAVOR_VOIP_CALL;
   show_number_info = info->number_info != NULL;
+  show_timestamp_info = info->timestamp_info != NULL;
 
   action = gtk_action_group_get_action (priv->action_group, "PopupSendEmail");
   gtk_action_set_visible (action, show_email_link);
@@ -2133,6 +2134,10 @@ popup_clipboard_targets_received_cb (GtkClipboard *clipboard,
   gtk_action_set_label (action, info->number_info);
   gtk_action_set_sensitive (action, FALSE);
   gtk_action_set_visible (action, show_number_info);
+  action = gtk_action_group_get_action (priv->action_group, "PopupTimestampInfo");
+  gtk_action_set_label (action, info->timestamp_info);
+  gtk_action_set_sensitive (action, FALSE);
+  gtk_action_set_visible (action, show_timestamp_info);
 
   action = gtk_action_group_get_action (priv->action_group, "PopupCopy");
   gtk_action_set_sensitive (action, vte_terminal_get_has_selection (VTE_TERMINAL (screen)));
@@ -2669,6 +2674,9 @@ terminal_window_init (TerminalWindow *window)
       { "PopupNumberInfo", NULL, "", NULL,
         NULL,
         NULL },
+      { "PopupTimestampInfo", NULL, "", NULL,
+        NULL,
+        NULL },
       { "PopupTerminalProfiles", NULL, N_("P_rofiles") },
       { "PopupCopy", "edit-copy", N_("Copy"), "",
         NULL,
diff --git a/src/terminal.xml b/src/terminal.xml
index cbf21cc..2d3cd62 100644
--- a/src/terminal.xml
+++ b/src/terminal.xml
@@ -83,6 +83,7 @@
     <menuitem action="PopupOpenLink" />
     <menuitem action="PopupCopyLinkAddress" />
     <menuitem action="PopupNumberInfo" />
+    <menuitem action="PopupTimestampInfo" />
     <separator />
     <menuitem action="PopupNewTerminal" />
     <separator />
