diff --git a/src/gpioplus/event.cpp b/src/gpioplus/event.cpp
index 88c5c47..58708fc 100644
--- a/src/gpioplus/event.cpp
+++ b/src/gpioplus/event.cpp
@@ -77,8 +77,7 @@
     {
         throw std::runtime_error("Event read didn't get enough data");
     }
-
-    return Data{data.timestamp, data.id};
+    return Data{decltype(Data::timestamp)(data.timestamp), data.id};
 }
 
 uint8_t Event::getValue() const
diff --git a/src/gpioplus/event.hpp b/src/gpioplus/event.hpp
index 32510a3..02c3cc2 100644
--- a/src/gpioplus/event.hpp
+++ b/src/gpioplus/event.hpp
@@ -1,9 +1,11 @@
 #pragma once
+#include <chrono>
 #include <cstdint>
 #include <gpioplus/chip.hpp>
 #include <gpioplus/handle.hpp>
 #include <gpioplus/internal/fd.hpp>
 #include <optional>
+#include <ratio>
 #include <string_view>
 
 namespace gpioplus
@@ -52,8 +54,8 @@
     /** @brief Event data read from the gpio line */
     struct Data
     {
-        /** @brief The estimate of the time the event occurred in nanoseconds */
-        uint64_t timestamp;
+        /** @brief The estimate of the time the event occurred */
+        std::chrono::duration<uint64_t, std::nano> timestamp;
         /** @brief The identifier of the event */
         uint32_t id;
     };
diff --git a/test/event.cpp b/test/event.cpp
index ed627e8..3676804 100644
--- a/test/event.cpp
+++ b/test/event.cpp
@@ -152,7 +152,7 @@
         .WillOnce(DoAll(WithArg<1>(WriteStruct(ret)), Return(sizeof(ret))));
     std::optional<Event::Data> data = event->read();
     EXPECT_TRUE(data);
-    EXPECT_EQ(ret.timestamp, data->timestamp);
+    EXPECT_EQ(ret.timestamp, data->timestamp.count());
     EXPECT_EQ(ret.id, data->id);
 }
 
