diff --git a/src/orca/default.py b/src/orca/default.py
index 1bbf7c9..8c215de 100644
--- a/src/orca/default.py
+++ b/src/orca/default.py
@@ -847,6 +847,20 @@ class Script(script.Script):
                 #
                 _("Toggles the silencing of speech."))
 
+        self.inputEventHandlers["sayandbraillewriteDateHandler"] = \
+            input_event.InputEventHandler(
+                orca.sayDate,
+                # Translators: Orca allows the user to listen and read braille display the current date.
+                #
+                _("Speak and write braille display the current date."))
+
+        self.inputEventHandlers["sayandbraillewriteTimeHandler"] = \
+            input_event.InputEventHandler(
+                orca.sayTime,
+                # Translators: Orca allows the user to listen and read braille display the current time.
+                #
+                _("Speak and write braille display the current time."))
+
         self.inputEventHandlers["listAppsHandler"] = \
             input_event.InputEventHandler(
                 Script.printAppsHandler,
@@ -1837,11 +1851,26 @@ class Script(script.Script):
 
         keyBindings.add(
             keybindings.KeyBinding(
+                "d",
+                settings.defaultModifierMask,
+                settings.ORCA_MODIFIER_MASK,
+                self.inputEventHandlers["sayandbraillewriteDateHandler"]))
+
+        keyBindings.add(
+            keybindings.KeyBinding(
+                "t",
+                settings.defaultModifierMask,
+                settings.ORCA_MODIFIER_MASK,
+                self.inputEventHandlers["sayandbraillewriteTimeHandler"]))
+
+        keyBindings.add(
+            keybindings.KeyBinding(
                 "s",
                 settings.defaultModifierMask,
                 settings.ORCA_MODIFIER_MASK,
                 self.inputEventHandlers["toggleSilenceSpeechHandler"]))
 
+
         keyBindings.add(
             keybindings.KeyBinding(
                 "End",
diff --git a/src/orca/orca.py b/src/orca/orca.py
index d5b1080..61d6b9d 100644
--- a/src/orca/orca.py
+++ b/src/orca/orca.py
@@ -1569,6 +1569,46 @@ def usage():
     print
     print _("Report bugs to orca-list@gnome.org.")
 
+def sayDate(script, inputEvent=None):
+    import time
+    year=time.strftime("%Y", time.localtime())
+    month=time.strftime("%B", time.localtime())
+    monthday=time.strftime("%d", time.localtime())
+    weekday=time.strftime("%A", time.localtime())
+    #If monthday first character is 0, need cutting this character and spokening monthday[1] value
+    if monthday[0]=="0":
+        speech.speak(year+". "+month+" "+monthday[1]+", "+weekday+".")
+        orca.braille.displayMessage(year+". "+month+" "+monthday[1]+", "+weekday+".", 0, -1)
+    else:
+        speech.speak(year+". "+month+" "+monthday+", "+weekday+".")
+        orca.braille.displayMessage(year+". "+month+" "+monthday+", "+weekday+".", 0, -1)
+    return True
+
+def sayTime(script, inputEvent=None):
+    import time
+    hour=time.strftime("%H", time.localtime())
+    minute=time.strftime("%M", time.localtime())
+    # Translators: this word mean after a hour suffix word with curret time, for example 12 hour.
+    #
+    hour_suffix_word=_("hour")
+    # Translators: this word mean after a minute suffix word with curret time, for example 12 minute.
+    #
+    minute_suffix_word=_("minute")
+    speech.speak(hour_suffix_word)
+    #Following code part detect the hour or minute, or hour and minute first character is 0 or not 0, and pass different output with current_time variable
+    #Final, the script spokening the current time variable
+    if hour[0]==0 and minute[0]==0:
+        current_time=hour[1]+' '+hour_suffix_word+' '+minute[1]+' '+minute_suffix_word+'.'
+    if hour[0]=="0" and minute[0]!="0":
+        current_time=hour[1]+' '+hour_suffix_word+' '+minute+' '+minute_suffix_word+'.'
+    if hour[0]!="0" and minute[0]=="0":
+        current_time=hour+' '+hour_suffix_word+' '+minute[1]+' '+minute_suffix_word+'.'
+    if hour[0]!="0" and minute[0]!="0":
+        current_time=hour+' '+hour_suffix_word+' '+minute+' '+minute_suffix_word+'.'
+    speech.speak(current_time)
+    braille.displayMessage(current_time, 0, -1)
+    return True
+
 def main():
     """The main entry point for Orca.  The exit codes for Orca will
     loosely be based on signals, where the exit code will be the
