mirror of
				https://github.com/mozilla/gecko-dev.git
				synced 2025-11-04 10:18:41 +02:00 
			
		
		
		
	Depends on D137612 Differential Revision: https://phabricator.services.mozilla.com/D137650
		
			
				
	
	
		
			83 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			83 lines
		
	
	
	
		
			2.8 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
This chapter describes the date and time functions in NSPR.
 | 
						|
 | 
						|
NSPR represents time in two ways, absolute time and clock/calendar time.
 | 
						|
NSPR provides types and constants for both representations, and
 | 
						|
functions to convert time values between the two.
 | 
						|
 | 
						|
-  Absolute time representation treats time instants as points along the
 | 
						|
   time line. A time instant is represented by its position on the time
 | 
						|
   line relative to the origin, called the epoch. NSPR defines the epoch
 | 
						|
   to be midnight (00:00:00) 1 January 1970 UTC (Coordinated Universal
 | 
						|
   Time). In this form, time is just a point on the time line. There is
 | 
						|
   no notion of time zone.
 | 
						|
 | 
						|
-  Clock/calendar time, used for human interfaces, represents time in
 | 
						|
   the familiar year, month, day, hour, minute, second components. In
 | 
						|
   this form, the time zone information is important. For example,
 | 
						|
   without specifying the time zone, the time 8:00AM 1 May 1998 is
 | 
						|
   ambiguous. The NSPR data type for clock/calendar time, called an
 | 
						|
   exploded time, has the time zone information in it, so that its
 | 
						|
   corresponding point in absolute time is uniquely specified.
 | 
						|
 | 
						|
Note that absolute and clock times are not normally used in timing
 | 
						|
operations. For functions that deal with the measurement of elapsed time
 | 
						|
and with timeouts, see `Interval Timing <Interval_Timing>`__.
 | 
						|
 | 
						|
-  `Macros for Time Unit
 | 
						|
   Conversion <#Macros_for_Time_Unit_Conversion>`__
 | 
						|
-  `Types and Constants <#Types_and_Constants>`__
 | 
						|
-  `Time Parameter Callback
 | 
						|
   Functions <#Time_Parameter_Callback_Functions>`__
 | 
						|
-  `Functions <#Functions>`__
 | 
						|
 | 
						|
.. _Macros_for_Time_Unit_Conversion:
 | 
						|
 | 
						|
Macros for Time Unit Conversion
 | 
						|
-------------------------------
 | 
						|
 | 
						|
Macros for converting between seconds, milliseconds, microseconds, and
 | 
						|
nanoseconds.
 | 
						|
 | 
						|
-  :ref:`PR_MSEC_PER_SEC`
 | 
						|
-  :ref:`PR_USEC_PER_SEC`
 | 
						|
-  :ref:`PR_NSEC_PER_SEC`
 | 
						|
-  :ref:`PR_USEC_PER_MSEC`
 | 
						|
-  :ref:`PR_NSEC_PER_MSEC`
 | 
						|
 | 
						|
.. _Types_and_Constants:
 | 
						|
 | 
						|
Types and Constants
 | 
						|
-------------------
 | 
						|
 | 
						|
Types and constants defined for NSPR dates and times are:
 | 
						|
 | 
						|
-  :ref:`PRTime`
 | 
						|
-  :ref:`PRTimeParameters`
 | 
						|
-  :ref:`PRExplodedTime`
 | 
						|
 | 
						|
.. _Time_Parameter_Callback_Functions:
 | 
						|
 | 
						|
Time Parameter Callback Functions
 | 
						|
---------------------------------
 | 
						|
 | 
						|
In some geographic locations, use of Daylight Saving Time (DST) and the
 | 
						|
rule for determining the dates on which DST starts and ends have changed
 | 
						|
a few times. Therefore, a callback function is used to determine time
 | 
						|
zone information.
 | 
						|
 | 
						|
You can define your own time parameter callback functions, which must
 | 
						|
conform to the definition :ref:`PRTimeParamFn`. Two often-used callback
 | 
						|
functions of this type are provided by NSPR:
 | 
						|
 | 
						|
-  :ref:`PRTimeParamFn`
 | 
						|
-  :ref:`PR_LocalTimeParameters` and :ref:`PR_GMTParameters`
 | 
						|
 | 
						|
Functions
 | 
						|
---------
 | 
						|
 | 
						|
The functions that create and manipulate time and date values are:
 | 
						|
 | 
						|
-  :ref:`PR_Now`
 | 
						|
-  :ref:`PR_ExplodeTime`
 | 
						|
-  :ref:`PR_ImplodeTime`
 | 
						|
-  :ref:`PR_NormalizeTime`
 |