Mercurial > projects > dil
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 |
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 } |