diff --git a/lib/mongo/types/objectid.rb b/lib/mongo/types/objectid.rb
index <HASH>..<HASH> 100644
--- a/lib/mongo/types/objectid.rb
+++ b/lib/mongo/types/objectid.rb
@@ -124,6 +124,12 @@ module Mongo
       legacy
     end
 
+    # Returns the utc time at which this ObjectID was generated. This may
+    # be used in lieu of a created_at timestamp.
+    def generation_time
+      Time.at(@data.pack("C4").unpack("N")[0])
+    end
+
     private
 
     begin
diff --git a/test/test_objectid.rb b/test/test_objectid.rb
index <HASH>..<HASH> 100644
--- a/test/test_objectid.rb
+++ b/test/test_objectid.rb
@@ -121,4 +121,10 @@ class ObjectIDTest < Test::Unit::TestCase
     assert_equal s, ObjectID.legacy_string_convert(l)
   end
 
+  def test_generation_time
+    time = Time.now
+    id   = ObjectID.new
+
+    assert_in_delta time.to_i, id.generation_time.to_i, 2
+  end
 end
Added generation_time method on ObjectID