Mercurial > projects > dil
annotate trunk/src/dil/Time.d @ 776:580d4ca9f1ff
Added new module dil.Time.
author | Aziz K?ksal <aziz.koeksal@gmail.com> |
---|---|
date | Tue, 19 Feb 2008 19:30:04 +0100 |
parents | |
children | c24be8d4f6ab |
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 |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
10 struct Time |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
11 { |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
12 static: |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
13 char[] toString() |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
14 { |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
15 time_t time_val; |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
16 .time(&time_val); |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
17 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
|
18 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
|
19 return timeStr.dup; |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
20 } |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
21 |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
22 char[] time(char[] timeStr) |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
23 { |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
24 return timeStr[11..19]; |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
25 } |
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 char[] month_day(char[] timeStr) |
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 return timeStr[4..10]; |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
30 } |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
31 |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
32 char[] year(char[] timeStr) |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
33 { |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
34 return timeStr[20..24]; |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
35 } |
580d4ca9f1ff
Added new module dil.Time.
Aziz K?ksal <aziz.koeksal@gmail.com>
parents:
diff
changeset
|
36 } |