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