diff --git a/src/orca/default.py b/src/orca/default.py
index 965676f..f1dd9b2 100644
--- a/src/orca/default.py
+++ b/src/orca/default.py
@@ -1027,6 +1027,20 @@ class Script(script.Script):
                 #
                 _("Toggle mouse review mode."))
 
+        self.inputEventHandlers["sayTimeHandler"] = \
+            input_event.InputEventHandler(
+                Script.sayTime,
+                # Translators: Orca can present the current date or time to the user
+                # using braille and speech pressing a quick key combination
+                _("Presents the current time"))
+
+        self.inputEventHandlers["sayDateHandler"] = \
+            input_event.InputEventHandler(
+                Script.sayDate,
+                # Translators: Orca can present the current date or time to the user
+                # using braille and speech pressing a quick key combination
+                _("Present the current date"))
+
         self.inputEventHandlers["bypassNextCommandHandler"] = \
             input_event.InputEventHandler(
                 Script.bypassNextCommand,
@@ -1881,6 +1895,26 @@ class Script(script.Script):
 
         #####################################################################
         #                                                                   #
+        # Say date and time key bindings
+        #                                                                   #
+        #####################################################################
+        keyBindings.add(
+            keybindings.KeyBinding(
+                "t",
+                settings.defaultModifierMask,
+                settings.ORCA_MODIFIER_MASK,
+                self.inputEventHandlers["sayTimeHandler"]))
+
+        keyBindings.add(
+            keybindings.KeyBinding(
+                "d",
+                settings.defaultModifierMask,
+                settings.ORCA_MODIFIER_MASK,
+                self.inputEventHandlers["sayDateHandler"]))
+
+
+        #####################################################################
+        #                                                                   #
         #  Bookmark key bindings                                            #
         #                                                                   #
         #####################################################################
@@ -8940,6 +8974,20 @@ class Script(script.Script):
 
         speech.speak(utterances)
 
+    def sayTime(self, inputEvent):
+        """ speaks and displays in braille the current time """
+        message = time.strftime(settings.sayTimeFormat, time.localtime())
+        speech.speak(message)
+        self.displayBrailleMessage(message, flashTime=settings.brailleFlashTime)
+        return True
+
+    def sayDate(self, inputEvent):
+        """ speaks and displays in braille the current date """
+        message = time.strftime(settings.sayDateFormat, time.localtime())
+        speech.speak(message)
+        self.displayBrailleMessage(message, flashTime=settings.brailleFlashTime)
+        return True
+
 # Dictionary that defines the state changes we care about for various
 # objects.  The key represents the role and the value represents a list
 # of states that we care about.
diff --git a/src/orca/settings.py b/src/orca/settings.py
index 9eddfd8..b681447 100644
--- a/src/orca/settings.py
+++ b/src/orca/settings.py
@@ -1461,3 +1461,25 @@ useExperimentalSpeechProsody = True
 # some introduce unnaturally long pauses between requests to speak.
 #
 enablePauseBreaks = True
+
+# Translators: Format directives to use on sayTime script
+# By default it gets the date and time format according to the current locale.
+# These format strings are passed to python's time.strftime function. To see possible 
+# directives to embed in the format strings check:
+# http://docs.python.org/library/time.html#time.strftime
+# If you would like cutting unneed 0 numbers with time output if any time value is smallest with 10, and would like 24 hour time format output with
+# translated message, you possible to use the %-H:%-M:%-S format string.
+# If you would like insert suffix words between time values (for example hour, minute, second word), feel free to do this, for example:
+# %H hour %M minute %-S second.
+#
+sayTimeFormat = _("%X")
+
+# Translators: Format directives to use on sayDate script
+# By default it gets the date and time format according to the current locale.
+# These format strings are passed to python's time.strftime function. To see possible 
+# directives to embed in the format strings check:
+# http://docs.python.org/library/time.html#time.strftime
+# If you would like cutting unneed 0 number with any date value if the value is smallest with 10, use the - character with format string, for example %-d.
+# The %-a format string part cutting month day the unneed 0 number if the month day between 1 and 9.
+#
+sayDateFormat = _("%x")
