Hyperlinkv0.8.0-beta.28

DateTime

DateTime.withCurrentZoneOffsetconsteffect/DateTime.ts:1979
(offset: number): <A, E, R>(
  effect: Effect.Effect<A, E, R>
) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
<A, E, R>(effect: Effect.Effect<A, E, R>, offset: number): Effect.Effect<
  A,
  E,
  Exclude<R, CurrentTimeZone>
>

Provides the CurrentTimeZone to an effect, using an offset.

Example (Providing a fixed-offset time zone)

import { DateTime, Effect } from "effect"

Effect.gen(function*() {
  const zone = yield* DateTime.CurrentTimeZone
  console.log(DateTime.zoneToString(zone)) // "+03:00"
}).pipe(DateTime.withCurrentZoneOffset(3 * 60 * 60 * 1000))
current time zone
export const withCurrentZoneOffset: {
  (offset: number): <A, E, R>(
    effect: Effect.Effect<A, E, R>
  ) => Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
  <A, E, R>(effect: Effect.Effect<A, E, R>, offset: number): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>>
} = dual(
  2,
  <A, E, R>(effect: Effect.Effect<A, E, R>, offset: number): Effect.Effect<A, E, Exclude<R, CurrentTimeZone>> =>
    Effect.provideService(effect, CurrentTimeZone, zoneMakeOffset(offset))
)