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);