Movatterモバイル変換


[0]ホーム

URL:


modulePostgreSQL.Binary.TimewhereimportPostgreSQL.Binary.Preludehiding(second)importData.Time.Calendar.Julian{-# INLINABLEdayToPostgresJulian#-}dayToPostgresJulian::Day->IntegerdayToPostgresJulian :: Day -> IntegerdayToPostgresJulian=(forall a. Num a => a -> a -> a+(Integer2400001forall a. Num a => a -> a -> a-Integer2451545))forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).Category cat =>cat b c -> cat a b -> cat a c.Day -> IntegertoModifiedJulianDay{-# INLINABLEpostgresJulianToDay#-}postgresJulianToDay::Integrala=>a->DaypostgresJulianToDay :: forall a. Integral a => a -> DaypostgresJulianToDay=Integer -> DayModifiedJulianDayforall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).Category cat =>cat b c -> cat a b -> cat a c.forall a b. (Integral a, Num b) => a -> bfromIntegralforall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).Category cat =>cat b c -> cat a b -> cat a c.forall a. Num a => a -> a -> asubtract(a2400001forall a. Num a => a -> a -> a-a2451545){-# INLINABLEmicrosToTimeOfDay#-}microsToTimeOfDay::Int64->TimeOfDaymicrosToTimeOfDay :: Int64 -> TimeOfDaymicrosToTimeOfDay=forall s a. State s a -> s -> aevalStateforall a b. (a -> b) -> a -> b$doInt64h<-forall (m :: * -> *) s a. Monad m => (s -> (a, s)) -> StateT s m astateforall a b. (a -> b) -> a -> b$forall a b c. (a -> b -> c) -> b -> a -> cflipforall a. Integral a => a -> a -> (a, a)divModforall a b. (a -> b) -> a -> b$Int6410forall a b. (Num a, Integral b) => a -> b -> a^Integer6forall a. Num a => a -> a -> a*Int6460forall a. Num a => a -> a -> a*Int6460Int64m<-forall (m :: * -> *) s a. Monad m => (s -> (a, s)) -> StateT s m astateforall a b. (a -> b) -> a -> b$forall a b c. (a -> b -> c) -> b -> a -> cflipforall a. Integral a => a -> a -> (a, a)divModforall a b. (a -> b) -> a -> b$Int6410forall a b. (Num a, Integral b) => a -> b -> a^Integer6forall a. Num a => a -> a -> a*Int6460Int64u<-forall (m :: * -> *) s. Monad m => StateT s m sgetforall (m :: * -> *) a. Monad m => a -> m areturnforall a b. (a -> b) -> a -> b$Int -> Int -> Pico -> TimeOfDayTimeOfDay(forall a b. (Integral a, Num b) => a -> bfromIntegralInt64h)(forall a b. (Integral a, Num b) => a -> bfromIntegralInt64m)(Int64 -> PicomicrosToPicoInt64u){-# INLINABLEmicrosToUTC#-}microsToUTC::Int64->UTCTimemicrosToUTC :: Int64 -> UTCTimemicrosToUTC=forall s a. State s a -> s -> aevalStateforall a b. (a -> b) -> a -> b$doInt64d<-forall (m :: * -> *) s a. Monad m => (s -> (a, s)) -> StateT s m astateforall a b. (a -> b) -> a -> b$forall a b c. (a -> b -> c) -> b -> a -> cflipforall a. Integral a => a -> a -> (a, a)divModforall a b. (a -> b) -> a -> b$Int6410forall a b. (Num a, Integral b) => a -> b -> a^Integer6forall a. Num a => a -> a -> a*Int6460forall a. Num a => a -> a -> a*Int6460forall a. Num a => a -> a -> a*Int6424Int64u<-forall (m :: * -> *) s. Monad m => StateT s m sgetforall (m :: * -> *) a. Monad m => a -> m areturnforall a b. (a -> b) -> a -> b$Day -> DiffTime -> UTCTimeUTCTime(forall a. Integral a => a -> DaypostgresJulianToDayInt64d)(Int64 -> DiffTimemicrosToDiffTimeInt64u){-# INLINABLEmicrosToPico#-}microsToPico::Int64->PicomicrosToPico :: Int64 -> PicomicrosToPico=forall a b. a -> bunsafeCoerceforall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).Category cat =>cat b c -> cat a b -> cat a c.(forall a. Num a => a -> a -> a*(Integer10forall a b. (Num a, Integral b) => a -> b -> a^Integer6))forall {k} (cat :: k -> k -> *) (b :: k) (c :: k) (a :: k).Category cat =>cat b c -> cat a b -> cat a c.(forall a b. (Integral a, Num b) => a -> bfromIntegral::Int64->Integer){-# INLINABLEmicrosToDiffTime#-}microsToDiffTime::Int64->DiffTimemicrosToDiffTime :: Int64 -> DiffTimemicrosToDiffTime=forall a b. a -> bunsafeCoerceInt64 -> PicomicrosToPico{-# INLINABLEmicrosToLocalTime#-}microsToLocalTime::Int64->LocalTimemicrosToLocalTime :: Int64 -> LocalTimemicrosToLocalTime=forall s a. State s a -> s -> aevalStateforall a b. (a -> b) -> a -> b$doInt64d<-forall (m :: * -> *) s a. Monad m => (s -> (a, s)) -> StateT s m astateforall a b. (a -> b) -> a -> b$forall a b c. (a -> b -> c) -> b -> a -> cflipforall a. Integral a => a -> a -> (a, a)divModforall a b. (a -> b) -> a -> b$Int6410forall a b. (Num a, Integral b) => a -> b -> a^Integer6forall a. Num a => a -> a -> a*Int6460forall a. Num a => a -> a -> a*Int6460forall a. Num a => a -> a -> a*Int6424Int64u<-forall (m :: * -> *) s. Monad m => StateT s m sgetforall (m :: * -> *) a. Monad m => a -> m areturnforall a b. (a -> b) -> a -> b$Day -> TimeOfDay -> LocalTimeLocalTime(forall a. Integral a => a -> DaypostgresJulianToDayInt64d)(Int64 -> TimeOfDaymicrosToTimeOfDayInt64u){-# INLINABLEsecsToTimeOfDay#-}secsToTimeOfDay::Double->TimeOfDaysecsToTimeOfDay :: Double -> TimeOfDaysecsToTimeOfDay=forall s a. State s a -> s -> aevalStateforall a b. (a -> b) -> a -> b$doIntegerh<-forall (m :: * -> *) s a. Monad m => (s -> (a, s)) -> StateT s m astateforall a b. (a -> b) -> a -> b$forall a b c. (a -> b -> c) -> b -> a -> cflipforall a b. (Real a, Integral b) => a -> a -> (b, a)divMod'forall a b. (a -> b) -> a -> b$Double60forall a. Num a => a -> a -> a*Double60Integerm<-forall (m :: * -> *) s a. Monad m => (s -> (a, s)) -> StateT s m astateforall a b. (a -> b) -> a -> b$forall a b c. (a -> b -> c) -> b -> a -> cflipforall a b. (Real a, Integral b) => a -> a -> (b, a)divMod'forall a b. (a -> b) -> a -> b$Double60Doubles<-forall (m :: * -> *) s. Monad m => StateT s m sgetforall (m :: * -> *) a. Monad m => a -> m areturnforall a b. (a -> b) -> a -> b$Int -> Int -> Pico -> TimeOfDayTimeOfDay(forall a b. (Integral a, Num b) => a -> bfromIntegralIntegerh)(forall a b. (Integral a, Num b) => a -> bfromIntegralIntegerm)(Double -> PicosecsToPicoDoubles){-# INLINABLEsecsToUTC#-}secsToUTC::Double->UTCTimesecsToUTC :: Double -> UTCTimesecsToUTC=forall s a. State s a -> s -> aevalStateforall a b. (a -> b) -> a -> b$doIntegerd<-forall (m :: * -> *) s a. Monad m => (s -> (a, s)) -> StateT s m astateforall a b. (a -> b) -> a -> b$forall a b c. (a -> b -> c) -> b -> a -> cflipforall a b. (Real a, Integral b) => a -> a -> (b, a)divMod'forall a b. (a -> b) -> a -> b$Double60forall a. Num a => a -> a -> a*Double60forall a. Num a => a -> a -> a*Double24Doubles<-forall (m :: * -> *) s. Monad m => StateT s m sgetforall (m :: * -> *) a. Monad m => a -> m areturnforall a b. (a -> b) -> a -> b$Day -> DiffTime -> UTCTimeUTCTime(forall a. Integral a => a -> DaypostgresJulianToDayIntegerd)(Double -> DiffTimesecsToDiffTimeDoubles){-# INLINABLEsecsToLocalTime#-}secsToLocalTime::Double->LocalTimesecsToLocalTime :: Double -> LocalTimesecsToLocalTime=forall s a. State s a -> s -> aevalStateforall a b. (a -> b) -> a -> b$doIntegerd<-forall (m :: * -> *) s a. Monad m => (s -> (a, s)) -> StateT s m astateforall a b. (a -> b) -> a -> b$forall a b c. (a -> b -> c) -> b -> a -> cflipforall a b. (Real a, Integral b) => a -> a -> (b, a)divMod'forall a b. (a -> b) -> a -> b$Double60forall a. Num a => a -> a -> a*Double60forall a. Num a => a -> a -> a*Double24Doubles<-forall (m :: * -> *) s. Monad m => StateT s m sgetforall (m :: * -> *) a. Monad m => a -> m areturnforall a b. (a -> b) -> a -> b$Day -> TimeOfDay -> LocalTimeLocalTime(forall a. Integral a => a -> DaypostgresJulianToDayIntegerd)(Double -> TimeOfDaysecsToTimeOfDayDoubles){-# INLINABLEsecsToPico#-}secsToPico::Double->PicosecsToPico :: Double -> PicosecsToPicoDoubles=forall a b. a -> bunsafeCoerce(forall a b. (RealFrac a, Integral b) => a -> btruncateforall a b. (a -> b) -> a -> b$forall a. Real a => a -> RationaltoRationalDoublesforall a. Num a => a -> a -> a*Rational10forall a b. (Num a, Integral b) => a -> b -> a^Integer12::Integer){-# INLINABLEsecsToDiffTime#-}secsToDiffTime::Double->DiffTimesecsToDiffTime :: Double -> DiffTimesecsToDiffTime=forall a b. a -> bunsafeCoerceDouble -> PicosecsToPico{-# INLINABLElocalTimeToMicros#-}localTimeToMicros::LocalTime->Int64localTimeToMicros :: LocalTime -> Int64localTimeToMicros(LocalTimeDaydayXTimeOfDaytimeX)=letd :: Integerd=Day -> IntegerdayToPostgresJulianDaydayXp :: Integerp=forall a b. a -> bunsafeCoerceforall a b. (a -> b) -> a -> b$TimeOfDay -> DiffTimetimeOfDayToTimeTimeOfDaytimeXinInt6410forall a b. (Num a, Integral b) => a -> b -> a^Integer6forall a. Num a => a -> a -> a*Int6460forall a. Num a => a -> a -> a*Int6460forall a. Num a => a -> a -> a*Int6424forall a. Num a => a -> a -> a*forall a b. (Integral a, Num b) => a -> bfromIntegralIntegerdforall a. Num a => a -> a -> a+forall a b. (Integral a, Num b) => a -> bfromIntegral(forall a. Integral a => a -> a -> adivIntegerp(Integer10forall a b. (Num a, Integral b) => a -> b -> a^Integer6)){-# INLINABLElocalTimeToSecs#-}localTimeToSecs::LocalTime->DoublelocalTimeToSecs :: LocalTime -> DoublelocalTimeToSecs(LocalTimeDaydayXTimeOfDaytimeX)=letd :: Integerd=Day -> IntegerdayToPostgresJulianDaydayXp :: Integerp=forall a b. a -> bunsafeCoerceforall a b. (a -> b) -> a -> b$TimeOfDay -> DiffTimetimeOfDayToTimeTimeOfDaytimeXinDouble60forall a. Num a => a -> a -> a*Double60forall a. Num a => a -> a -> a*Double24forall a. Num a => a -> a -> a*forall a b. (Integral a, Num b) => a -> bfromIntegralIntegerdforall a. Num a => a -> a -> a+forall a. Fractional a => Rational -> afromRational(Integerpforall a. Integral a => a -> a -> Ratio a%(Integer10forall a b. (Num a, Integral b) => a -> b -> a^Integer12)){-# INLINABLEutcToMicros#-}utcToMicros::UTCTime->Int64utcToMicros :: UTCTime -> Int64utcToMicros(UTCTimeDaydayXDiffTimediffTimeX)=letd :: Integerd=Day -> IntegerdayToPostgresJulianDaydayXp :: Integerp=forall a b. a -> bunsafeCoerceDiffTimediffTimeXinInt6410forall a b. (Num a, Integral b) => a -> b -> a^Integer6forall a. Num a => a -> a -> a*Int6460forall a. Num a => a -> a -> a*Int6460forall a. Num a => a -> a -> a*Int6424forall a. Num a => a -> a -> a*forall a b. (Integral a, Num b) => a -> bfromIntegralIntegerdforall a. Num a => a -> a -> a+forall a b. (Integral a, Num b) => a -> bfromIntegral(forall a. Integral a => a -> a -> adivIntegerp(Integer10forall a b. (Num a, Integral b) => a -> b -> a^Integer6)){-# INLINABLEutcToSecs#-}utcToSecs::UTCTime->DoubleutcToSecs :: UTCTime -> DoubleutcToSecs(UTCTimeDaydayXDiffTimediffTimeX)=letd :: Integerd=Day -> IntegerdayToPostgresJulianDaydayXp :: Integerp=forall a b. a -> bunsafeCoerceDiffTimediffTimeXinDouble60forall a. Num a => a -> a -> a*Double60forall a. Num a => a -> a -> a*Double24forall a. Num a => a -> a -> a*forall a b. (Integral a, Num b) => a -> bfromIntegralIntegerdforall a. Num a => a -> a -> a+forall a. Fractional a => Rational -> afromRational(Integerpforall a. Integral a => a -> a -> Ratio a%(Integer10forall a b. (Num a, Integral b) => a -> b -> a^Integer12))-- * Constants in microseconds according to Julian dates standard--------------------------- According to-- http://www.postgresql.org/docs/9.1/static/datatype-datetime.html-- Postgres uses Julian dates internally-------------------------Int64yearMicros::Int64=forall a b. (RealFrac a, Integral b) => a -> btruncate(Rational365.2425forall a. Num a => a -> a -> a*forall a b. (Integral a, Num b) => a -> bfromIntegralInt64dayMicros::Rational)Int64dayMicros::Int64=Int6424forall a. Num a => a -> a -> a*Int64hourMicrosInt64hourMicros::Int64=Int6460forall a. Num a => a -> a -> a*Int64minuteMicrosInt64minuteMicros::Int64=Int6460forall a. Num a => a -> a -> a*Int64secondMicrosInt64secondMicros::Int64=Int6410forall a b. (Num a, Integral b) => a -> b -> a^Integer6

[8]ページ先頭

©2009-2025 Movatter.jp