Hyperlinkv0.8.0-beta.28

DateTime

DateTime.nearestconsteffect/DateTime.ts:2463
(
  part: DateTime.UnitSingular,
  options?: {
    readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
  }
): <A extends DateTime>(self: A) => A
<A extends DateTime>(
  self: A,
  part: DateTime.UnitSingular,
  options?: {
    readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined
  }
): A

Converts a DateTime to the nearest given part.

Details

If the part is week, the weekStartsOn option can be used to specify the day of the week that the week starts on. The default is 0 (Sunday).

Example (Rounding DateTime values to nearest units)

import { DateTime } from "effect"

// returns "2024-01-02T00:00:00Z"
DateTime.makeUnsafe("2024-01-01T12:01:00Z").pipe(
  DateTime.nearest("day"),
  DateTime.formatIso
)
math
export const nearest: {
  (
    part: DateTime.UnitSingular,
    options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
  ): <A extends DateTime>(self: A) => A
  <A extends DateTime>(
    self: A,
    part: DateTime.UnitSingular,
    options?: { readonly weekStartsOn?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | undefined }
  ): A
} = Internal.nearest