A time of the day, composed of an hour, a minute and a second count

Introduced properties

init defaultinit(hour: Int, minute: Int, second: Int)

date :: Time :: defaultinit

fun diff_time(other: Time): Int

date :: Time :: diff_time

Get the difference between two times in second
fun hour: Int

date :: Time :: hour

The hour part of this time, between 0 and 23
protected fun hour=(hour: Int)

date :: Time :: hour=

The hour part of this time, between 0 and 23
fun minute: Int

date :: Time :: minute

The minute within the hour, between 0 and 59
protected fun minute=(minute: Int)

date :: Time :: minute=

The minute within the hour, between 0 and 59
init now

date :: Time :: now

Get the current time of the day
fun second: Int

date :: Time :: second

The second within the minute, between 0 and 59
protected fun second=(second: Int)

date :: Time :: second=

The second within the minute, between 0 and 59

Redefined properties

redef fun <(d: OTHER): Bool

date $ Time :: <

Is self lesser than other?
redef fun ==(d: nullable Object): Bool

date $ Time :: ==

Have self and other the same value?
redef type OTHER: Time

date $ Time :: OTHER

What self can be compared to?
redef type SELF: Time

date $ Time :: SELF

Type of this instance, automatically specialized in every class
redef fun hash: Int

date $ Time :: hash

The hash code of the object.

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
abstract fun <(other: OTHER): Bool

core :: Comparable :: <

Is self lesser than other?
fun <=(other: OTHER): Bool

core :: Comparable :: <=

not other < self
fun <=>(other: OTHER): Int

core :: Comparable :: <=>

-1 if <, +1 if > and 0 otherwise
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
fun >(other: OTHER): Bool

core :: Comparable :: >

other < self
fun >=(other: OTHER): Bool

core :: Comparable :: >=

not self < other
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type OTHER: Comparable

core :: Comparable :: OTHER

What self can be compared to?
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
fun clamp(min: OTHER, max: OTHER): OTHER

core :: Comparable :: clamp

Constraint self within [min..max]
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
init defaultinit(hour: Int, minute: Int, second: Int)

date :: Time :: defaultinit

fun diff_time(other: Time): Int

date :: Time :: diff_time

Get the difference between two times in second
fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
fun hour: Int

date :: Time :: hour

The hour part of this time, between 0 and 23
protected fun hour=(hour: Int)

date :: Time :: hour=

The hour part of this time, between 0 and 23
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
fun is_between(c: OTHER, d: OTHER): Bool

core :: Comparable :: is_between

c <= self <= d
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun max(other: OTHER): OTHER

core :: Comparable :: max

The maximum between self and other (prefers self if equals).
fun min(c: OTHER): OTHER

core :: Comparable :: min

The minimum between self and c (prefer self if equals)
fun minute: Int

date :: Time :: minute

The minute within the hour, between 0 and 59
protected fun minute=(minute: Int)

date :: Time :: minute=

The minute within the hour, between 0 and 59
init now

date :: Time :: now

Get the current time of the day
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun second: Int

date :: Time :: second

The second within the minute, between 0 and 59
protected fun second=(second: Int)

date :: Time :: second=

The second within the minute, between 0 and 59
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
package_diagram date::Time Time core::Comparable Comparable date::Time->core::Comparable core::Object Object core::Comparable->core::Object ...core::Object ... ...core::Object->core::Object date::DateTime DateTime date::DateTime->date::Time

Ancestors

interface Object

core :: Object

The root of the class hierarchy.

Parents

interface Comparable

core :: Comparable

The ancestor of class where objects are in a total order.

Children

class DateTime

date :: DateTime

A Time in a Date

Class definitions

date $ Time
# A time of the day, composed of an `hour`, a `minute` and a `second` count
class Time
	super Comparable
	redef type OTHER: Time

	# The hour part of this time, between 0 and 23
	var hour: Int

	# The minute within the hour, between 0 and 59
	var minute: Int

	# The second within the minute, between 0 and 59
	var second: Int

	# Get the current time of the day
	init now do
		var tm = new Tm.localtime
		init(tm.hour, tm.min, tm.sec)
	end

	# Get the difference between two times in second
	fun diff_time(other: Time): Int do
		return (hour * 3600 + minute * 60 + second) -
			(other.hour * 3600 + other.minute * 60 + other.second)
	end

	redef fun ==(d) do return d isa Time and time_eq(d)

	redef fun <(d) do return self.diff_time(d) < 0

	redef fun hash do return hour * 1024 + minute * 64 + second

	private fun time_eq(other: Time): Bool
	do
		return hour * 3600 + minute * 60 + second ==
			other.hour * 3600 + other.minute * 60 + other.second
	end
end
lib/date/date.nit:44,1--81,3