Vuo  2.4.0
VuoTimeFormat.c
Go to the documentation of this file.
1
10#include "type.h"
11#include "VuoTime.h"
12#include "VuoTimeFormat.h"
14
16#ifdef VUO_COMPILER
18 "title" : "Date-Time Format",
19 "description" : "How to format a Date-Time.",
20 "keywords" : [ ],
21 "version" : "1.0.0",
22 "dependencies" : [
23 "VuoTime",
24 "VuoList_VuoTimeFormat"
25 ]
26 });
27#endif
29
38{
39 const char *valueAsString = "";
40 if (json_object_get_type(js) == json_type_string)
41 valueAsString = json_object_get_string(js);
42
43 VuoTimeFormat value = VuoTimeFormat_DateTimeSortable;
44
45 if (strcmp(valueAsString, "datetime-short-24") == 0)
46 value = VuoTimeFormat_DateTimeShort24;
47 else if (strcmp(valueAsString, "datetime-short-12") == 0)
48 value = VuoTimeFormat_DateTimeShort12;
49 else if (strcmp(valueAsString, "datetime-medium-12") == 0)
50 value = VuoTimeFormat_DateTimeMedium12;
51 else if (strcmp(valueAsString, "datetime-medium-24") == 0)
52 value = VuoTimeFormat_DateTimeMedium24;
53 else if (strcmp(valueAsString, "datetime-long-12") == 0)
54 value = VuoTimeFormat_DateTimeLong12;
55 else if (strcmp(valueAsString, "datetime-long-24") == 0)
56 value = VuoTimeFormat_DateTimeLong24;
57 else if (strcmp(valueAsString, "date-short") == 0)
58 value = VuoTimeFormat_DateShort;
59 else if (strcmp(valueAsString, "date-medium") == 0)
60 value = VuoTimeFormat_DateMedium;
61 else if (strcmp(valueAsString, "date-long") == 0)
62 value = VuoTimeFormat_DateLong;
63 else if (strcmp(valueAsString, "time-12") == 0)
64 value = VuoTimeFormat_Time12;
65 else if (strcmp(valueAsString, "time-24") == 0)
66 value = VuoTimeFormat_Time24;
67
68 return value;
69}
70
75{
76 char *valueAsString = "datetime-sortable";
77
78 if (value == VuoTimeFormat_DateTimeShort12)
79 valueAsString = "datetime-short-12";
80 else if (value == VuoTimeFormat_DateTimeShort24)
81 valueAsString = "datetime-short-24";
82 else if (value == VuoTimeFormat_DateTimeMedium12)
83 valueAsString = "datetime-medium-12";
84 else if (value == VuoTimeFormat_DateTimeMedium24)
85 valueAsString = "datetime-medium-24";
86 else if (value == VuoTimeFormat_DateTimeLong12)
87 valueAsString = "datetime-long-12";
88 else if (value == VuoTimeFormat_DateTimeLong24)
89 valueAsString = "datetime-long-24";
90 else if (value == VuoTimeFormat_DateShort)
91 valueAsString = "date-short";
92 else if (value == VuoTimeFormat_DateMedium)
93 valueAsString = "date-medium";
94 else if (value == VuoTimeFormat_DateLong)
95 valueAsString = "date-long";
96 else if (value == VuoTimeFormat_Time12)
97 valueAsString = "time-12";
98 else if (value == VuoTimeFormat_Time24)
99 valueAsString = "time-24";
100
101 return json_object_new_string(valueAsString);
102}
103
108{
110 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_DateTimeSortable);
111 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_DateTimeShort12);
112 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_DateTimeShort24);
113 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_DateTimeMedium12);
114 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_DateTimeMedium24);
115 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_DateTimeLong12);
116 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_DateTimeLong24);
117 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_DateShort);
118 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_DateMedium);
119 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_DateLong);
120 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_Time12);
121 VuoListAppendValue_VuoTimeFormat(l, VuoTimeFormat_Time24);
122 return l;
123}
124
129{
130 VuoText formatted = VuoTime_format(VuoTime_getCurrent(), value);
131 VuoLocal(formatted);
132 if (value == VuoTimeFormat_DateTimeSortable)
133 return VuoText_format("Date & Time — Sortable, UTC (%s)", formatted);
134 else if (value == VuoTimeFormat_DateTimeShort12)
135 return VuoText_format("Date & Time — Short — 12-hour (%s)", formatted);
136 else if (value == VuoTimeFormat_DateTimeShort24)
137 return VuoText_format("Date & Time — Short — 24-hour (%s)", formatted);
138 else if (value == VuoTimeFormat_DateTimeMedium12)
139 return VuoText_format("Date & Time — Medium 12-hour (%s)", formatted);
140 else if (value == VuoTimeFormat_DateTimeMedium24)
141 return VuoText_format("Date & Time — Medium 24-hour (%s)", formatted);
142 else if (value == VuoTimeFormat_DateTimeLong12)
143 return VuoText_format("Date & Time — Long 12-hour (%s)", formatted);
144 else if (value == VuoTimeFormat_DateTimeLong24)
145 return VuoText_format("Date & Time — Long 24-hour (%s)", formatted);
146 else if (value == VuoTimeFormat_DateShort)
147 return VuoText_format("Date — Short (%s)", formatted);
148 else if (value == VuoTimeFormat_DateMedium)
149 return VuoText_format("Date — Medium (%s)", formatted);
150 else if (value == VuoTimeFormat_DateLong)
151 return VuoText_format("Date — Long (%s)", formatted);
152 else if (value == VuoTimeFormat_Time12)
153 return VuoText_format("Time — 12-hour (%s)", formatted);
154 else if (value == VuoTimeFormat_Time24)
155 return VuoText_format("Time — 24-hour (%s)", formatted);
156 else
157 return strdup(formatted);
158}
159
163bool VuoTimeFormat_areEqual(const VuoTimeFormat valueA, const VuoTimeFormat valueB)
164{
165 return valueA == valueB;
166}
167
172{
173 return valueA < valueB;
174}