clock.n
上传用户:rrhhcc
上传日期:2015-12-11
资源大小:54129k
文件大小:10k
源码类别:

通讯编程

开发平台:

Visual C++

  1. '"
  2. '" Copyright (c) 1992-1995 Karl Lehenbauer and Mark Diekhans.
  3. '" Copyright (c) 1995-1997 Sun Microsystems, Inc.
  4. '" Copyright (c) 1998-1999 Scriptics Corporation
  5. '" Copyright (c) 2002 ActiveState Corporation
  6. '"
  7. '" This documentation is derived from the time and date facilities of
  8. '" TclX, by Mark Diekhans and Karl Lehenbauer.
  9. '" 
  10. '" See the file "license.terms" for information on usage and redistribution
  11. '" of this file, and for a DISCLAIMER OF ALL WARRANTIES.
  12. '" 
  13. '" RCS: @(#) $Id: clock.n,v 1.11.2.6 2004/12/13 15:52:21 kennykb Exp $
  14. '" 
  15. .so man.macros
  16. .TH clock n 8.4 Tcl "Tcl Built-In Commands"
  17. .BS
  18. '" Note:  do not modify the .SH NAME line immediately below!
  19. .SH NAME
  20. clock - Obtain and manipulate time
  21. .SH SYNOPSIS
  22. fBclock fIoptionfR ?fIarg arg ...fR?
  23. .BE
  24. .SH DESCRIPTION
  25. .PP
  26. This command performs one of several operations that may obtain
  27. or manipulate strings or values that represent some notion of
  28. time.  The fIoptionfR argument determines what action is carried
  29. out by the command.  The legal fIoptionsfR (which may be
  30. abbreviated) are:
  31. .VS 8.3
  32. .TP
  33. fBclock clicksfR ?fB-millisecondsfR?
  34. Return a high-resolution time value as a system-dependent integer
  35. value.  The unit of the value is system-dependent but should be the
  36. highest resolution clock available on the system such as a CPU cycle
  37. counter. If fB-millisecondsfR is specified, then the value is
  38. guaranteed to be of millisecond granularity.
  39. This value should only be used for the relative measurement
  40. of elapsed time.
  41. .VE 8.3
  42. .TP
  43. fBclock format fIclockValuefR ?fB-format fIstringfR? ?fB-gmt fIbooleanfR?
  44. Converts an integer time value, typically returned by
  45. fBclock secondsfR, fBclock scanfR, or the fBatimefR or fBmtimefR
  46. options of the fBfilefR command, to human-readable
  47. form.  If the fB-formatfR argument is present the next argument is a
  48. string that describes how the date and time are to be formatted.
  49. Field descriptors consist of a fB%fR followed by a field
  50. descriptor character.  All other characters are copied into the result.
  51. Valid field descriptors are:
  52. .RS
  53. .IP fB%%fR
  54. Insert a %.
  55. .IP fB%afR
  56. Abbreviated weekday name (Mon, Tue, etc.).
  57. .IP fB%AfR
  58. Full weekday name (Monday, Tuesday, etc.).
  59. .IP fB%bfR
  60. Abbreviated month name (Jan, Feb, etc.).
  61. .IP fB%BfR
  62. Full month name.
  63. .VS 8.4
  64. .IP fB%cfR
  65. Locale specific date and time.  The format for date and time
  66. in the default "C" locale on Unix/Mac is "%a %b %d %H:%M:%S %Y".
  67. On Windows, this value is the locale specific long date and time, as
  68. specified in the Regional Options control panel settings.
  69. .IP fB%CfR
  70. First two digits of the four-digit year (19 or 20).
  71. .VE 8.4
  72. .IP fB%dfR
  73. Day of month (01 - 31).
  74. .VS 8.4
  75. '" Since the inclusion of compat/strftime.c, %D, %e, %h should work on all
  76. '" platforms.
  77. .IP fB%DfR
  78. Date as %m/%d/%y.
  79. .IP fB%efR
  80. Day of month (1 - 31), no leading zeros.
  81. .IP fB%gfR
  82. The ISO8601 year number corresponding to the ISO8601 week (%V), expressed
  83. as a two-digit year-of-the-century, with leading zero if necessary.
  84. .IP fB%GfR
  85. The ISO8601 year number corresponding to the ISO8601 week (%V), expressed
  86. as a four-digit number.
  87. .IP fB%hfR
  88. Abbreviated month name.
  89. .VE 8.4
  90. .IP fB%HfR
  91. Hour in 24-hour format (00 - 23).
  92. .VS 8.4
  93. .IP fB%IfR
  94. Hour in 12-hour format (01 - 12).
  95. .VE 8.4
  96. .IP fB%jfR
  97. Day of year (001 - 366).
  98. .VS 8.4
  99. .IP fB%kfR
  100. Hour in 24-hour format, without leading zeros (0 - 23).
  101. .IP fB%lfR
  102. Hour in 12-hour format, without leading zeros (1 - 12).
  103. .VE 8.4
  104. .IP fB%mfR
  105. Month number (01 - 12).
  106. .IP fB%MfR
  107. Minute (00 - 59).
  108. .VS 8.4
  109. .IP fB%nfR
  110. Insert a newline.
  111. .VE 8.4
  112. .IP fB%pfR
  113. AM/PM indicator.
  114. .VS 8.4
  115. .IP fB%rfR
  116. Time in a locale-specific "meridian" format.  The "meridian"
  117. format in the default "C" locale is "%I:%M:%S %p".
  118. .IP fB%RfR
  119. Time as %H:%M.
  120. .IP fB%sfR
  121. Count of seconds since the epoch, expressed as a decimal integer.
  122. .VE 8.4
  123. .IP fB%SfR
  124. Seconds (00 - 59).
  125. .VS 8.4
  126. .IP fB%tfR
  127. Insert a tab.
  128. .IP fB%TfR
  129. Time as %H:%M:%S.
  130. .IP fB%ufR
  131. Weekday number (Monday = 1, Sunday = 7).
  132. .VE 8.4
  133. .IP fB%UfR
  134. Week of year (00 - 52), Sunday is the first day of the week.
  135. .VS 8.4
  136. .IP fB%VfR
  137. Week of year according to ISO-8601 rules.  Week 1 of a given
  138. year is the week containing 4 January.
  139. .IP fB%wfR
  140. Weekday number (Sunday = 0, Saturday = 6).
  141. .VE 8.4
  142. .IP fB%WfR
  143. Week of year (00 - 52), Monday is the first day of the week.
  144. .VS 8.4
  145. .IP fB%xfR
  146. Locale specific date format.  The format for a date in the default "C"
  147. locale for Unix/Mac is "%m/%d/%y".
  148. On Windows, this value is the locale specific short date format, as
  149. specified in the Regional Options control panel settings.
  150. .IP fB%XfR
  151. Locale specific 24-hour time format.  The format for a 
  152. 24-hour time in the default "C" locale for Unix/Mac is "%H:%M:%S".
  153. On Windows, this value is the locale specific time format, as
  154. specified in the Regional Options control panel settings.
  155. .VE 8.4
  156. .IP fB%yfR
  157. Year without century (00 - 99).
  158. .IP fB%YfR
  159. Year with century (e.g. 1990)
  160. .IP fB%ZfR
  161. Time zone name.
  162. .RE
  163. .VS 8.4
  164. .sp
  165. '" All the field descriptors should be portable now that
  166. '" compat/strftime.c is in place, with the possible exception
  167. '" of the time zone name.
  168. '".RS
  169. '"In addition, the following field descriptors may be supported on some
  170. '"systems (e.g. Unix but not Windows):
  171. '".IP fB%DfR
  172. '"Date as %m/%d/%y.
  173. '".IP fB%efR
  174. '"Day of month (1 - 31), no leading zeros.
  175. '".IP fB%hfR
  176. '"Abbreviated month name.
  177. '".IP fB%nfR
  178. '"Insert a newline.
  179. '".IP fB%rfR
  180. '"Time as %I:%M:%S %p.
  181. '".IP fB%RfR
  182. '"Time as %H:%M.
  183. '".IP fB%tfR
  184. '"Insert a tab.
  185. '".IP fB%TfR
  186. '"Time as %H:%M:%S.
  187. '".RE
  188. '".sp
  189. .VE 8.4
  190. .RS
  191. If the fB-formatfR argument is not specified, the format string 
  192. fB"%a %b %d %H:%M:%S %Z %Y"fR is used.  If the fB-gmtfR argument
  193. is present the next argument must be a boolean which if true specifies
  194. that the time will be formatted as Greenwich Mean Time. If false
  195. then the local timezone will be used as defined by the operating
  196. environment.
  197. .RE
  198. .TP
  199. fBclock scan fIdateStringfR ?fB-base fIclockValfR? ?fB-gmt fIbooleanfR?
  200. Convert fIdateStringfR to an integer clock value (see fBclock secondsfR).
  201. This command can parse and convert virtually any standard date and/or time
  202. string, which can include standard time zone mnemonics.  If only a time is
  203. specified, the current date is assumed.  If the string does not contain a
  204. time zone mnemonic, the local time zone is assumed, unless the fB-gmtfR 
  205. argument is true, in which case the clock value is calculated assuming
  206. that the specified time is relative to Greenwich Mean Time.
  207. fB-gmtfR, if specified, affects only the computed time value; it does not
  208. impact the interpretation of fB-basefR.
  209. .sp
  210. If the fB-basefR flag is specified, the next argument should contain
  211. an integer clock value.  Only the date in this value is used, not the
  212. time.  This is useful for determining the time on a specific day or
  213. doing other date-relative conversions.
  214. .sp
  215. The fIdateStringfR consists of zero or more specifications of the
  216. following form:
  217. .RS
  218. .TP
  219. fItimefR
  220. A time of day, which is of the form: fIhhfR?fI:mmfR?fI:ssfR?? 
  221. ?fImeridianfR? ?fIzonefR? or fIhhmm fR?fImeridianfR? 
  222. ?fIzonefR?. If no meridian is specified, fIhhfR is interpreted on
  223. a 24-hour clock.
  224. .TP
  225. fIdatefR
  226. A specific month and day with optional year.  The
  227. acceptable formats are fImm/ddfR?fI/yyfR?, fImonthname ddfR
  228. ?, fIyyfR?, fIdd monthname fR?fIyyfR?, fIday, dd monthname
  229. yyfR, fI?CC?yymmddfR, fI?CC?yy-mm-ddfR, fIdd-monthname-?CC?yyfR.
  230. The default year is the current year.  If the year is less
  231. .VS
  232. than 100, we treat the years 00-68 as 2000-2068 and the years 69-99
  233. as 1969-1999.  Not all platforms can represent the years 38-70, so
  234. an error may result if these years are used.
  235. .VE
  236. .TP
  237. fIISO 8601 point-in-timefR
  238. An ISO 8601 point-in-time specification, such as fICCyymmddThhmmssfR, where
  239. T is the literal T, fICCyymmdd hhmmssfR, or 
  240. fICCyymmddThh:mm:ssfR.  Note that only these three formats are accepted.
  241. The command does fInotfR accept the full range of point-in-time
  242. specifications specified in ISO8601.  Other formats can be recognized by
  243. using commands such as fBregexpfR to extract their fields and reorganize
  244. them into a form accepted by the fBclock scanfR command.
  245. .TP
  246. fIrelative timefR
  247. A specification relative to the current time.  The format is fInumber
  248. unitfR acceptable units are fByearfR, fBfortnightfR, fBmonthfR, fBweekfR, fBdayfR,
  249. fBhourfR, fBminutefR (or fBminfR), and fBsecondfR (or fBsecfR).  The
  250. unit can be specified as a singular or plural, as in fB3 weeksfR.
  251. These modifiers may also be specified:
  252. fBtomorrowfR, fByesterdayfR, fBtodayfR, fBnowfR,
  253. fBlastfR, fBthisfR, fBnextfR, fBagofR.
  254. .RE
  255. .sp
  256. .RS
  257. The actual date is calculated according to the following steps.
  258. First, any absolute date and/or time is processed and converted.
  259. Using that time as the base, day-of-week specifications are added.
  260. Next, relative specifications are used.  If a date or day is
  261. specified, and no absolute or relative time is given, midnight is
  262. used.  Finally, a correction is applied so that the correct hour of
  263. the day is produced after allowing for daylight savings time
  264. differences and the correct date is given when going from the end
  265. of a long month to a short month.
  266. .sp
  267. Daylight savings time correction is applied only when the relative time
  268. is specified in units of days or more, ie, days, weeks, fortnights, months or
  269. years.  This means that when crossing the daylight savings time boundary,
  270. different results will be given for fBclock scan "1 day"fR and
  271. fBclock scan "24 hours"fR:
  272. .CS
  273. .ta 6c
  274. % fBclock scanfR "1 day" -base [fBclock scanfR 1999-10-31]
  275. 941443200
  276. % fBclock scanfR "24 hours" -base [fBclock scanfR 1999-10-31]
  277. 941439600
  278. .CE
  279. .RE
  280. .TP
  281. fBclock secondsfR
  282. Return the current date and time as a system-dependent integer value.  The
  283. unit of the value is seconds, allowing it to be used for relative time
  284. calculations.  The value is usually defined as total elapsed time from
  285. an ``epoch''.  You shouldn't assume the value of the epoch.
  286. .SH "SEE ALSO"
  287. date(1), time(n)
  288. .SH KEYWORDS
  289. clock, date, time