diff --git a/doc/lua-api/index.rst b/doc/lua-api/index.rst
index 7a1f44e..d41451f 100644
--- a/doc/lua-api/index.rst
+++ b/doc/lua-api/index.rst
@@ -270,6 +270,20 @@
   :param string filename: the filename that reference the map entries.
   :param string key: the key which will be deleted.
 
+.. js:function:: core.now()
+
+  **context**: body, init, task, action
+
+  This function returns the current time. The time returned is fixed by the
+  HAProxy core and assures than the hour will be monotnic and that the system
+  call 'gettimeofday' will not be called too. The time is refreshed between each
+  Lua execution or resume, so two consecutive call to the function "now" will
+  probably returns the same result.
+
+  :returns: an array which contains two entries "sec" and "usec". "sec"
+    contains the current at the epoch format, and "usec" contains the
+    current microseconds.
+
 .. js:function:: core.msleep(milliseconds)
 
   **context**: body, init, task, action
diff --git a/src/hlua_fcn.c b/src/hlua_fcn.c
index 6078031..b4df09a 100644
--- a/src/hlua_fcn.c
+++ b/src/hlua_fcn.c
@@ -7,6 +7,21 @@
 #include <lua.h>
 #include <lualib.h>
 
+#include <common/time.h>
+
+/* This function return the current date at epoch format in milliseconds. */
+int hlua_now(lua_State *L)
+{
+	lua_newtable(L);
+	lua_pushstring(L, "sec");
+	lua_pushinteger(L, now.tv_sec);
+	lua_rawset(L, -3);
+	lua_pushstring(L, "usec");
+	lua_pushinteger(L, now.tv_usec);
+	lua_rawset(L, -3);
+	return 1;
+}
+
 static void hlua_array_add_fcn(lua_State *L, const char *name,
                                int (*function)(lua_State *L))
 {
@@ -17,5 +32,6 @@
 
 int hlua_fcn_reg_core_fcn(lua_State *L)
 {
-	return 0;
+	hlua_array_add_fcn(L, "now", hlua_now);
+	return 1;
 }
