diff --git a/core/api/pom.xml b/core/api/pom.xml
index f357977..100e63f 100644
--- a/core/api/pom.xml
+++ b/core/api/pom.xml
@@ -36,6 +36,10 @@
             <groupId>com.google.guava</groupId>
             <artifactId>guava-testlib</artifactId>
         </dependency>
+        <dependency>
+            <groupId>joda-time</groupId>
+            <artifactId>joda-time</artifactId>
+        </dependency>
     </dependencies>
 
 </project>
diff --git a/core/api/src/main/java/org/onlab/onos/event/AbstractEvent.java b/core/api/src/main/java/org/onlab/onos/event/AbstractEvent.java
index cc4735d..0fc8eaa 100644
--- a/core/api/src/main/java/org/onlab/onos/event/AbstractEvent.java
+++ b/core/api/src/main/java/org/onlab/onos/event/AbstractEvent.java
@@ -17,6 +17,8 @@
 
 import static com.google.common.base.MoreObjects.toStringHelper;
 
+import org.joda.time.LocalDateTime;
+
 /**
  * Base event implementation.
  */
@@ -67,8 +69,11 @@
 
     @Override
     public String toString() {
-        return toStringHelper(this).add("time", time).add("type", type())
-                .add("subject", subject()).toString();
+        return toStringHelper(this)
+                .add("time", new LocalDateTime(time))
+                .add("type", type())
+                .add("subject", subject())
+                .toString();
     }
 
 }
diff --git a/core/api/src/main/java/org/onlab/onos/mastership/MastershipEvent.java b/core/api/src/main/java/org/onlab/onos/mastership/MastershipEvent.java
index 74f8161..1aecfb4 100644
--- a/core/api/src/main/java/org/onlab/onos/mastership/MastershipEvent.java
+++ b/core/api/src/main/java/org/onlab/onos/mastership/MastershipEvent.java
@@ -15,6 +15,7 @@
  */
 package org.onlab.onos.mastership;
 
+import org.joda.time.LocalDateTime;
 import org.onlab.onos.cluster.RoleInfo;
 import org.onlab.onos.event.AbstractEvent;
 import org.onlab.onos.net.DeviceId;
@@ -83,7 +84,7 @@
     @Override
     public String toString() {
         return MoreObjects.toStringHelper(getClass())
-                .add("time", time())
+                .add("time", new LocalDateTime(time()))
                 .add("type", type())
                 .add("subject", subject())
                 .add("roleInfo", roleInfo)
diff --git a/core/api/src/main/java/org/onlab/onos/net/device/DeviceEvent.java b/core/api/src/main/java/org/onlab/onos/net/device/DeviceEvent.java
index eccc14d..7fa981e 100644
--- a/core/api/src/main/java/org/onlab/onos/net/device/DeviceEvent.java
+++ b/core/api/src/main/java/org/onlab/onos/net/device/DeviceEvent.java
@@ -15,6 +15,7 @@
  */
 package org.onlab.onos.net.device;
 
+import org.joda.time.LocalDateTime;
 import org.onlab.onos.event.AbstractEvent;
 import org.onlab.onos.net.Device;
 import org.onlab.onos.net.Port;
@@ -131,7 +132,11 @@
         if (port == null) {
             return super.toString();
         }
-        return toStringHelper(this).add("time", time()).add("type", type())
-            .add("subject", subject()).add("port", port).toString();
+        return toStringHelper(this)
+                .add("time", new LocalDateTime(time()))
+                .add("type", type())
+                .add("subject", subject())
+                .add("port", port)
+                .toString();
      }
 }
diff --git a/features/features.xml b/features/features.xml
index db0ede6..088e42f 100644
--- a/features/features.xml
+++ b/features/features.xml
@@ -32,6 +32,8 @@
         <bundle>mvn:io.netty/netty-transport-native-epoll/4.0.23.Final</bundle>
         <bundle>mvn:commons-pool/commons-pool/1.6</bundle>
 
+        <bundle>mvn:joda-time/joda-time/2.5</bundle>
+
         <bundle>mvn:com.hazelcast/hazelcast/3.3.2</bundle>
         <bundle>mvn:io.dropwizard.metrics/metrics-core/3.1.0</bundle>
         <bundle>mvn:io.dropwizard.metrics/metrics-json/3.1.0</bundle>
diff --git a/pom.xml b/pom.xml
index 095e40e..83ed0f4 100644
--- a/pom.xml
+++ b/pom.xml
@@ -319,6 +319,11 @@
                 <artifactId>netty-transport-native-epoll</artifactId>
                 <version>${netty4.version}</version>
             </dependency>
+            <dependency>
+                <groupId>joda-time</groupId>
+                <artifactId>joda-time</artifactId>
+                <version>2.5</version>
+            </dependency>
         </dependencies>
     </dependencyManagement>
 
