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
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
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 }