annotate trunk/src/dil/Time.d @ 798:c24be8d4f6ab

Added documentation comments.
author Aziz K?ksal <aziz.koeksal@gmail.com>
date Sat, 01 Mar 2008 02:53:06 +0100
parents 580d4ca9f1ff
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
776
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
1 /++
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
2 Author: Aziz Köksal
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
3 License: GPL3
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
4 +/
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
5 module dil.Time;
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
6
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
7 import tango.stdc.time : time_t, time, ctime;
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
8 import tango.stdc.string : strlen;
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
9
798
c24be8d4f6ab Added documentation comments.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 776
diff changeset
10 /// Some convenience functions for dealing with C's time functions.
776
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
11 struct Time
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
12 {
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
13 static:
798
c24be8d4f6ab Added documentation comments.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 776
diff changeset
14 /// Returns the current date as a string.
776
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
15 char[] toString()
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
16 {
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
17 time_t time_val;
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
18 .time(&time_val);
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
19 char* str = ctime(&time_val); // ctime returns a pointer to a static array.
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
20 char[] timeStr = str[0 .. strlen(str)-1]; // -1 removes trailing '\n'.
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
21 return timeStr.dup;
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
22 }
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
23
798
c24be8d4f6ab Added documentation comments.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 776
diff changeset
24 /// Returns the time of timeStr: hh:mm:ss
776
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
25 char[] time(char[] timeStr)
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
26 {
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
27 return timeStr[11..19];
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
28 }
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
29
798
c24be8d4f6ab Added documentation comments.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 776
diff changeset
30 /// Returns the month and day of timeStr: Mmm dd
776
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
31 char[] month_day(char[] timeStr)
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
32 {
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
33 return timeStr[4..10];
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
34 }
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
35
798
c24be8d4f6ab Added documentation comments.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents: 776
diff changeset
36 /// Returns the year of timeStr: yyyy
776
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
37 char[] year(char[] timeStr)
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
38 {
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
39 return timeStr[20..24];
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
40 }
580d4ca9f1ff Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff changeset
41 }