Mercurial > octave-antonio
comparison scripts/time/datestr.m @ 19414:a2a79462b7b8
datestr.m: Clean up use of []/"" and single/double quotes (bug #43841).
datestr.m: Initialize retval to "" rather than [] to potentially avoid
num-to-str warning during construction of output. Use double quotes in
regexprep and strrep expressions to avoid any ambiguity now that
regexprep processes escape sequences regardless of quote mark used.
author | Rik <rik@octave.org> |
---|---|
date | Sun, 21 Dec 2014 08:09:28 -0800 |
parents | 7bbe3658c5ef |
children | 06931d787450 |
comparison
equal
deleted
inserted
replaced
19413:e354372e20f2 | 19414:a2a79462b7b8 |
---|---|
191 if (isempty (v)) | 191 if (isempty (v)) |
192 v = date; | 192 v = date; |
193 endif | 193 endif |
194 endif | 194 endif |
195 | 195 |
196 retval = []; | 196 retval = ""; |
197 for i = 1 : rows (v) | 197 for i = 1 : rows (v) |
198 | 198 |
199 if (isempty (f)) | 199 if (isempty (f)) |
200 if (v(i,4:6) == 0) | 200 if (v(i,4:6) == 0) |
201 f = 1; | 201 f = 1; |
211 else | 211 else |
212 df = f; | 212 df = f; |
213 endif | 213 endif |
214 | 214 |
215 df_orig = df; | 215 df_orig = df; |
216 df = strrep (df, 'AM', "%p"); | 216 df = strrep (df, "AM", "%p"); |
217 df = strrep (df, 'PM', "%p"); | 217 df = strrep (df, "PM", "%p"); |
218 if (strcmp (df, df_orig)) | 218 if (strcmp (df, df_orig)) |
219 ## PM not set. | 219 ## PM not set. |
220 df = strrep (df, "HH", "%H"); | 220 df = strrep (df, "HH", "%H"); |
221 else | 221 else |
222 df = strrep (df, "HH", sprintf ("%2d", v(i,4))); | 222 df = strrep (df, "HH", sprintf ("%2d", v(i,4))); |
223 endif | 223 endif |
224 | 224 |
225 df = regexprep (df, '[Yy][Yy][Yy][Yy]', "%Y"); | 225 df = regexprep (df, "[Yy][Yy][Yy][Yy]", "%Y"); |
226 | 226 |
227 df = regexprep (df, '[Yy][Yy]', "%y"); | 227 df = regexprep (df, "[Yy][Yy]", "%y"); |
228 | 228 |
229 df = regexprep (df, '[Dd][Dd][Dd][Dd]', "%A"); | 229 df = regexprep (df, "[Dd][Dd][Dd][Dd]", "%A"); |
230 | 230 |
231 df = regexprep (df, '[Dd][Dd][Dd]', "%a"); | 231 df = regexprep (df, "[Dd][Dd][Dd]", "%a"); |
232 | 232 |
233 df = regexprep (df, '[Dd][Dd]', "%d"); | 233 df = regexprep (df, "[Dd][Dd]", "%d"); |
234 | 234 |
235 wday = weekday (datenum (v(i,1), v(i,2), v(i,3))); | 235 wday = weekday (datenum (v(i,1), v(i,2), v(i,3))); |
236 tmp = names_d{wday}; | 236 tmp = names_d{wday}; |
237 df = regexprep (df, '([^%])[Dd]', sprintf ("$1%s", tmp)); | 237 df = regexprep (df, "([^%])[Dd]", sprintf ("$1%s", tmp)); |
238 df = regexprep (df, '^[Dd]', sprintf ("%s", tmp)); | 238 df = regexprep (df, "^[Dd]", sprintf ("%s", tmp)); |
239 | 239 |
240 df = strrep (df, "mmmm", "%B"); | 240 df = strrep (df, "mmmm", "%B"); |
241 | 241 |
242 df = strrep (df, "mmm", "%b"); | 242 df = strrep (df, "mmm", "%b"); |
243 | 243 |
244 df = strrep (df, "mm", "%m"); | 244 df = strrep (df, "mm", "%m"); |
245 | 245 |
246 tmp = names_m{v(i,2)}; | 246 tmp = names_m{v(i,2)}; |
247 pos = regexp (df, '[^%]m') + 1; | 247 pos = regexp (df, "[^%]m") + 1; |
248 df(pos) = tmp; | 248 df(pos) = tmp; |
249 df = regexprep (df, '^m', tmp); | 249 df = regexprep (df, "^m", tmp); |
250 | 250 |
251 df = strrep (df, "MM", "%M"); | 251 df = strrep (df, "MM", "%M"); |
252 | 252 |
253 df = regexprep (df, '[Ss][Ss]', "%S"); | 253 df = regexprep (df, "[Ss][Ss]", "%S"); |
254 | 254 |
255 df = strrep (df, "FFF", sprintf ("%03d", | 255 df = strrep (df, "FFF", sprintf ("%03d", |
256 round (1000 * (v(i,6) - fix (v(i,6)))))); | 256 round (1000 * (v(i,6) - fix (v(i,6)))))); |
257 | 257 |
258 df = strrep (df, 'QQ', sprintf ("Q%d", fix ((v(i,2) + 2) / 3))); | 258 df = strrep (df, "QQ", sprintf ("Q%d", fix ((v(i,2) + 2) / 3))); |
259 | 259 |
260 vi = v(i,:); | 260 vi = v(i,:); |
261 tm.year = vi(1) - 1900; | 261 tm.year = vi(1) - 1900; |
262 tm.mon = vi(2) - 1; | 262 tm.mon = vi(2) - 1; |
263 tm.mday = vi(3); | 263 tm.mday = vi(3); |