indexing
	description: "Universal constants about dates"
	status: "See notice at end of class"
	date: "$Date$"
	revision: "$Revision$"
	access: date

class interface
	DATE_CONSTANTS

feature -- Access

	date_default_format_string: STRING
			-- Default output format for dates

	days_in_i_th_month (i, y: INTEGER): INTEGER
			-- Number of days in the i th month at year y
		require
			i_large_enough: i >= 1
			i_small_enough: i <= months_in_year

	Days_in_leap_year: INTEGER is 366
			-- Number of days in a leap year

	Days_in_non_leap_year: INTEGER is 365
			-- Number of days in a non-leap year

	Days_in_week: INTEGER is 7
			-- Number of days in a week

	days_text: ARRAY [STRING]
			-- Short text representation of days

	long_days_text: ARRAY [STRING]
			-- Long text representation of days

	long_months_text: ARRAY [STRING]
			-- Long text representation of months

	Max_weeks_in_year: INTEGER is 53
			-- Maximun number of weeks in a year

	Months_in_year: INTEGER is 12
			-- Number of months in year

	months_text: ARRAY [STRING]
			-- Short text representation of months
	
feature -- Status report

	is_leap_year (y: INTEGER): BOOLEAN
			-- Is year y a leap year?
	
invariant

		-- from ANY
	reflexive_equality: standard_is_equal (Current)
	reflexive_conformance: conforms_to (Current)

end -- class DATE_CONSTANTS