diff --git a/CHANGELOG.md b/CHANGELOG.md
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,7 @@
 Changelog
 
+# [2.0.0](https://github.com/drlkf/megaparsec-time/compare/1.0.1...2.0.0) (2025-07-28)
+
 ## [1.0.1](https://github.com/drlkf/megaparsec-time/compare/1.0.0...1.0.1) (2025-07-28)
 
 # 1.0.0 (2025-07-28)
diff --git a/megaparsec-time.cabal b/megaparsec-time.cabal
--- a/megaparsec-time.cabal
+++ b/megaparsec-time.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:           megaparsec-time
-version:        0.1.0.1
+version:        0.2.0.0
 synopsis:       Parsers and utilities for the Megaparsec library.
 description:    Common parsers and utilities to use with the Megaparsec library.
 category:       Parsing
@@ -40,6 +40,7 @@
   build-depends:
       base >=4.7 && <5
     , megaparsec >=9.0 && <10
+    , megaparsec-utils >=0.1 && <1
     , parser-combinators >=1.0 && <2
     , time >=1.10 && <2
   default-language: Haskell2010
@@ -59,6 +60,7 @@
     , hspec
     , megaparsec >=9.0 && <10
     , megaparsec-time
+    , megaparsec-utils >=0.1 && <1
     , parser-combinators >=1.0 && <2
     , time >=1.10 && <2
   default-language: Haskell2010
diff --git a/src/Text/Megaparsec/Time.hs b/src/Text/Megaparsec/Time.hs
--- a/src/Text/Megaparsec/Time.hs
+++ b/src/Text/Megaparsec/Time.hs
@@ -51,12 +51,7 @@
   string',
  )
 import Text.Printf (printf)
-
-_posNumParser
-  :: Ord e
-  => Read a
-  => Parsec e String a
-_posNumParser = read <$> some digitChar
+import Text.Megaparsec.Utils (posNumParser)
 
 -- | Representation of a parser result with either a number of days relative to
 -- the current day, or a 'DayOfWeek'.
@@ -131,19 +126,19 @@
 hoursParser
   :: Ord e
   => Parsec e String NominalDiffTime
-hoursParser = secondsToNominalDiffTime . (* 3600) <$> _posNumParser <* char 'h'
+hoursParser = secondsToNominalDiffTime . (* 3600) <$> posNumParser <* char 'h'
 
 -- | Parse a 'NominalDiffTime' from a number of minutes from a string like @1m@.
 minutesParser
   :: Ord e
   => Parsec e String NominalDiffTime
-minutesParser = secondsToNominalDiffTime . (* 60) <$> _posNumParser <* char 'm'
+minutesParser = secondsToNominalDiffTime . (* 60) <$> posNumParser <* char 'm'
 
 -- | Parse a 'NominalDiffTime' from a number of seconds from a string like @1s@.
 secondsParser
   :: Ord e
   => Parsec e String NominalDiffTime
-secondsParser = secondsToNominalDiffTime <$> _posNumParser <* optional (char 's')
+secondsParser = secondsToNominalDiffTime <$> posNumParser <* optional (char 's')
 
 -- | Parse a 'TimeOfDay' from a string like @01:23@.
 timeParser
