Module Require_explicit_time_source.Date

include module type of sig ... end
type t = Core__.Core_date_intf.Date.t
val bin_size_t : t Bin_prot.Size.sizer
val bin_write_t : t Bin_prot.Write.writer
val bin_read_t : t Bin_prot.Read.reader
val __bin_read_t__ : (int -> t) Bin_prot.Read.reader
val bin_shape_t : Bin_prot.Shape.t
val bin_writer_t : t Bin_prot.Type_class.writer
val bin_reader_t : t Bin_prot.Type_class.reader
val bin_t : t Bin_prot.Type_class.t
val t_of_sexp : Sexplib0.Sexp.t -> t
val sexp_of_t : t -> Sexplib0.Sexp.t
val typerep_of_t : t Typerep_lib.Std_internal.Typerep.t
val typename_of_t : t Typerep_lib.Typename.t
val hash_fold_t : Base.Hash.state -> t -> Base.Hash.state
val hash : t -> Base.Hash.hash_value
val hashable : t Core_kernel.Hashtbl.Hashable.t
val of_string : string -> t
val to_string : t -> string
val (>=) : t -> t -> bool
val (<=) : t -> t -> bool
val (=) : t -> t -> bool
val (>) : t -> t -> bool
val (<) : t -> t -> bool
val (<>) : t -> t -> bool
val equal : t -> t -> bool
val compare : t -> t -> int
val min : t -> t -> t
val max : t -> t -> t
val ascending : t -> t -> int
val descending : t -> t -> int
val between : t -> low:t -> high:t -> bool
val clamp_exn : t -> min:t -> max:t -> t
val clamp : t -> min:t -> max:t -> t Base.Or_error.t
type comparator_witness = Core_kernel__Date0.comparator_witness
val validate_lbound : min:t Base.Maybe_bound.t -> t Base.Validate.check
val validate_ubound : max:t Base.Maybe_bound.t -> t Base.Validate.check
val validate_bound : min:t Base.Maybe_bound.t -> max:t Base.Maybe_bound.t -> t Base.Validate.check
val comparator : (tcomparator_witness) Core_kernel.Comparator.comparator
val pp : Base.Formatter.t -> t -> unit
val create_exn : y:Core_kernel__.Import.int -> m:Core_kernel.Month.t -> d:Core_kernel__.Import.int -> t
val of_string_iso8601_basic : Core_kernel__.Import.string -> pos:Core_kernel__.Import.int -> t
val to_string_iso8601_basic : t -> Core_kernel__.Import.string
val to_string_american : t -> Core_kernel__.Import.string
val day : t -> Core_kernel__.Import.int
val month : t -> Core_kernel.Month.t
val year : t -> Core_kernel__.Import.int
val day_of_week : t -> Core_kernel.Day_of_week.t
val week_number_and_year : t -> Core_kernel__.Import.int * Core_kernel__.Import.int
val week_number : t -> Core_kernel__.Import.int
val is_weekend : t -> Core_kernel__.Import.bool
val is_weekday : t -> Core_kernel__.Import.bool
val is_business_day : t -> is_holiday:(t -> Core_kernel__.Import.bool) -> Core_kernel__.Import.bool
val add_days : t -> Core_kernel__.Import.int -> t
val add_months : t -> Core_kernel__.Import.int -> t
val add_years : t -> Core_kernel__.Import.int -> t
val diff : t -> t -> Core_kernel__.Import.int
val diff_weekdays : t -> t -> Core_kernel__.Import.int
val diff_weekend_days : t -> t -> Core_kernel__.Import.int
val add_weekdays : t -> Core_kernel__.Import.int -> t
val add_business_days : t -> is_holiday:(t -> Core_kernel__.Import.bool) -> Core_kernel__.Import.int -> t
val add_days_skipping : t -> skip:(t -> Core_kernel__.Import.bool) -> Core_kernel__.Import.int -> t
val dates_between : min:t -> max:t -> t Core_kernel__.Import.list
val business_dates_between : min:t -> max:t -> is_holiday:(t -> Core_kernel__.Import.bool) -> t Core_kernel__.Import.list
val weekdays_between : min:t -> max:t -> t Core_kernel__.Import.list
val previous_weekday : t -> t
val following_weekday : t -> t
val first_strictly_after : t -> on:Core_kernel.Day_of_week.t -> t
val days_in_month : year:Core_kernel__.Import.int -> month:Core_kernel.Month.t -> Core_kernel__.Import.int
val is_leap_year : year:Core_kernel__.Import.int -> Core_kernel__.Import.bool
val unix_epoch : t
val quickcheck_generator : t Base_quickcheck.Generator.t
val quickcheck_observer : t Base_quickcheck.Observer.t
val quickcheck_shrinker : t Base_quickcheck.Shrinker.t
val gen_incl : t -> t -> t Core_kernel.Quickcheck.Generator.t
val gen_uniform_incl : t -> t -> t Core_kernel.Quickcheck.Generator.t
val of_time : Core_kernel__.Time_float.t -> zone:Core_kernel__.Time_float.Zone.t -> t
val today : zone:Core_kernel__.Time_float.Zone.t -> t
val format : t -> string -> string
val parse : fmt:string -> string -> t
val of_tm : Core__.Core_unix.tm -> t
val today : zone:Time.Zone.t -> t