MCPcopy Index your code
hub / github.com/totaljs/framework / parseDateFormat

Function parseDateFormat

utils.js:3836–3893  ·  view source on GitHub ↗
(format, val)

Source from the content-addressed store, hash-verified

3834}
3835
3836function parseDateFormat(format, val) {
3837
3838 var tmp = [];
3839 var tmpformat = [];
3840 var prev = '';
3841 var prevformat = '';
3842 var allowed = { y: 1, Y: 1, M: 1, m: 1, d: 1, D: 1, H: 1, s: 1, a: 1, w: 1 };
3843
3844 for (var i = 0; i < format.length; i++) {
3845
3846 var c = format[i];
3847
3848 if (!allowed[c])
3849 continue;
3850
3851 if (prev !== c) {
3852 prevformat && tmpformat.push(prevformat);
3853 prevformat = c;
3854 prev = c;
3855 } else
3856 prevformat += c;
3857 }
3858
3859 prev = '';
3860
3861 for (var i = 0; i < val.length; i++) {
3862 var code = val.charCodeAt(i);
3863 if (code >= 48 && code <= 57)
3864 prev += val[i];
3865 }
3866
3867 prevformat && tmpformat.push(prevformat);
3868
3869 var f = 0;
3870 for (var i = 0; i < tmpformat.length; i++) {
3871 var l = tmpformat[i].length;
3872 tmp.push(prev.substring(f, f + l));
3873 f += l;
3874 }
3875
3876 var dt = {};
3877
3878 for (var i = 0; i < tmpformat.length; i++) {
3879 var type = tmpformat[i];
3880 if (tmp[i])
3881 dt[type[0]] = +tmp[i];
3882 }
3883
3884 var h = dt.h || dt.H;
3885
3886 if (h != null) {
3887 var ampm = val.match(REG_TIME);
3888 if (ampm && ampm[0].toLowerCase() === 'pm')
3889 h += 12;
3890 }
3891
3892 return new Date((dt.y || dt.Y) || 0, (dt.M || 1) - 1, dt.d || dt.D || 0, h || 0, dt.m || 0, dt.s || 0);
3893}

Callers 1

utils.jsFile · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected