diff --git a/src/os/win32/ngx_files.h b/src/os/win32/ngx_files.h
index a29e333..0565eaf 100644
--- a/src/os/win32/ngx_files.h
+++ b/src/os/win32/ngx_files.h
@@ -69,8 +69,8 @@
 
 #define ngx_file_uniq(fi)   (*(ngx_file_uniq_t *) &fi.nFileIndexHigh)
 
-/* There are 134774 days between 1 Jan 1970 and 1 Jan 1601,
-   11644473600 seconds or 11644473600,000,000,0 100-nanosecond intervals */
+
+/* 116444736000000000 is commented in src/os/win32/ngx_time.c */
 
 #define ngx_file_mtime(fi)                                                  \
    (time_t) (((((unsigned __int64) fi.ftLastWriteTime.dwHighDateTime << 32) \
diff --git a/src/os/win32/ngx_time.c b/src/os/win32/ngx_time.c
new file mode 100644
index 0000000..8497c53
--- /dev/null
+++ b/src/os/win32/ngx_time.c
@@ -0,0 +1,29 @@
+
+#include <ngx_config.h>
+#include <ngx_core.h>
+
+
+void ngx_gettimeofday(struct timeval *tp)
+{
+    uint64_t  intervals;
+    FILETIME  ft;
+
+    GetSystemTimeAsFileTime(&ft);
+
+    /*
+     * A file time is a 64-bit value that represents the number
+     * of 100-nanosecond intervals that have elapsed since
+     * 12:00 A.M. January 1, 1601 (UTC).
+     *
+     * Between January 1, 1970 (Epoch) and January 1, 1601 there are
+     * 134744 days,
+     * 11644473600 seconds or
+     * 11644473600,000,000,0 100-nanosecond intervals.
+     */
+
+    intervals = ((uint64_t) ft.dwHighDateTime << 32) | ft.dwLowDateTime;
+    intervals -= 116444736000000000;
+
+    tp->tv_sec = intervals / 10000000;
+    tp->tv_usec = (intervals % 10000000) / 10;
+}
diff --git a/src/os/win32/ngx_time.h b/src/os/win32/ngx_time.h
index 4cd84e5..36f8918 100644
--- a/src/os/win32/ngx_time.h
+++ b/src/os/win32/ngx_time.h
@@ -6,8 +6,10 @@
 #include <ngx_core.h>
 
 
-typedef unsigned int   ngx_msec_t;
-#define NGX_MAX_MSEC   ~0
+typedef uint64_t       ngx_epoch_msec_t;
+
+typedef u_int          ngx_msec_t;
+#define NGX_MAX_MSEC   (ngx_msec_t) -1
 
 
 typedef SYSTEMTIME     ngx_tm_t;
@@ -23,10 +25,16 @@
 
 #define ngx_msleep     Sleep
 #define ngx_localtime  GetLocalTime
-#define ngx_msec       GetTickCount
 
-/* STUB */
-#define ngx_time()     time(NULL)
+
+struct timeval {
+    long   tv_sec;
+    long   tv_usec;
+};
+
+
+void ngx_gettimeofday(struct timeval *tp);
+
 
 
 #endif /* _NGX_TIME_H_INCLUDED_ */
