PageSourceSearch

https://www.wtown.com/pc/js/date-util.js

js wtown.com collected 2026-10-04 01:27:32 UTC 13,894 bytes, 509 lines download raw bytes

1/**
2 * 格式成2012-10-15 12:13:14格式的字符串
3 */
4function formatFullTime(t){
5    var str = '';
6    str = str + t.getFullYear() + '-' + format2Char(t.getMonth() + 1) + '-' + format2Char(t.getDate());
7    str = str + ' ' + format2Char(t.getHours()) + ':' + format2Char(t.getMinutes()) + ':' + format2Char(t.getSeconds());
8    return str;
9}
10
11/**
12 * 格式成2012-10-15格式的字符串
13 */
14function formatDateTime(t){
15    var str = '';
16    str = str + t.getFullYear() + '-' + format2Char(t.getMonth() + 1) + '-' + format2Char(t.getDate());
17    return str;
18}
19
20/**
21 * 将20141013的日期字符串转成2014-10-13格式
22 * @param dateStr
23 */
24function formatDate2(dateStr) {
25    if(dateStr) {
26        var arr = [];
27        arr.push(dateStr.substring(0, 4));
28        arr.push(dateStr.substring(4, 6));
29        arr.push(dateStr.substring(6, 8));
30        return arr.join('-');
31    }
32}
33
34/**
35 * 将2014-10-13的日期字符串转成2014年10月13日格式
36 * @param dateStr
37 */
38function formatDate3(dateStr) {
39    if(dateStr) {
40        var arr = dateStr.split("-");
41        return arr[0]+"年"+arr[1]+"月"+arr[2]+"日";
42    }
43}
44
45/**
46 * 格式成YYYYMMDDHHmmss格式的字符串
47 */
48function formatNumberTime(t){
49    var str = '';
50    str = str + t.getFullYear()+format2Char(t.getMonth() + 1)+ format2Char(t.getDate());
51    str = str + format2Char(t.getHours()) + format2Char(t.getMinutes()) + format2Char(t.getSeconds());
52    return str;
53}
54
55/**
56 * 解析格式如'2012-10-15 12:13:14'的字符串
57 */
58function parseTime(str){
59    var dayArr = str.split(' ')[0].split('-');
60    var timeArr = str.split(' ')[1].split(':');
61    var t = new Date();
62    t.setMilliseconds(0);
63    t.setSeconds(Number(timeArr[2]));
64    t.setMinutes(Number(timeArr[1]));
65    t.setHours(Number(timeArr[0]));
66    t.setDate(Number(dayArr[2]));
67    t.setMonth(Number(dayArr[1]) - 1);
68    t.setFullYear(Number(dayArr[0]));
69    return t;
70}
71
72/**
73 * 解析格式如'2012-10-15'的字符串
74 * @param str
75 */
76function parseDate(str) {
77    //str = '2015-10-31'
78    var dayArr = str.split('-');
79    var t = new Date();
80    t.setDate(Number(dayArr[2]));
81    t.setMonth(Number(dayArr[1]) - 1);
82    t.setFullYear(Number(dayArr[0]));
83    return t;
84}
85
86/**
87 * 根据日期周几数值
88 * @param dateStr
89 * @returns
90 */
91function getWeekNumByDateStr(dateStr) {
92    if(dateStr.length > 10) {
93        dateStr = dateStr.substring(0, 10);
94    }
95    var weekDay = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
96    var myDate = new Date(Date.parse(dateStr.replace(/-/g, "/")));
97    var day = weekDay[myDate.getDay()];
98    return day;
99}
100
101/**
102 * 根据日期星期几字符
103 * @param dateStr
104 * @returns
105 */
106function getWeekStrByDateStr(dateStr) {
107    var weekNum = getWeekNumByDateStr(dateStr);
108    switch (weekNum) {
109        case '周日': return '星期日';
110        case '周一': return '星期一';
111        case '周二': return '星期二';
112        case '周三': return '星期三';
113        case '周四': return '星期四';
114        case '周五': return '星期五';
115        case '周六': return '星期六';
116    }
117}
118
119/**
120 * 根据日期周几字符
121 * @param dateStr
122 * @returns
123 */
124function getWeekStrByDateStr2(dateStr) {
125    var weekDay = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
126    var myDate = new Date(Date.parse(dateStr.replace(/-/g, "/")));
127    var day = weekDay[myDate.getDay()];
128    return day;
129}
130
131function getWeekStrByDate(date) {
132    var weekDay = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
133    var day = weekDay[date.getDay()];
134    return day;
135}
136
137function getWeekStrByDate2(date) {
138    var weekDay = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];
139    var day = weekDay[date.getDay()];
140    return day;
141}
142
143/**
144 * 把数字格式为两位如1到01
145 * @param num
146 * @returns
147 */
148function format2Char(num){
149    var str = String(num);
150    if(str && str.length == 1){
151        return '0' + str;
152    }
153    return str;
154}
155
156/**
157 * 判断是否是历史天
158 * 判断 '2012-10-05'是当天、历史天、或将来天
159 * 当天返回0,历史天返回-1,将来天返回1
160 */
161function isWhichDay(dateStr) {
162    if(dateStr.length > 10) {
163        dateStr = dateStr.substring(0, 10);
164    }
165    dateStr = dateStr + ' 10:00:00';
166    var historyDay = parseTime(dateStr);
167
168    var today = new Date();
169    today.setMilliseconds(0);
170    today.setSeconds(0);
171    today.setMinutes(0);
172    today.setHours(10);
173
174    var vs = today.getTime() - historyDay.getTime();
175    if(vs > 0) {
176        return -1;
177    } else if(vs == 0) {
178        return 0;
179    } else {
180        return 1;
181    }
182}
183
184/*
185 * 根据date对象返回年月日格式的字符串
186 */
187function getYMDStrofDate(d){
188    if(d){
189        var monthStr = String(d.getMonth() + 1);
190        monthStr = monthStr.length == 1 ? '0' + monthStr : monthStr;
191        var dateStr = String(d.getDate());
192        dateStr = dateStr.length == 1 ? '0' + dateStr : dateStr;
193        return d.getFullYear() + '-' + monthStr + '-' + dateStr;
194    }
195}
196
197/**
198 * 比较格式如2012-10-15 12:13:14的两个时间的大小
199 * 1 > 2, 返回1,等于,返回0, 小于,返回-1
200 * @param time1
201 * @param time2
202 */
203function compareTimeStr(time1, time2) {
204    var t1 = parseTime(time1).getTime();
205    var t2 = parseTime(time2).getTime();
206    if(t1 > t2) {
207        return 1;
208    } else if(t1 < t2) {
209        return -1;
210    } else {
211        return 0;
212    }
213}
214
215/**
216 * 获得当前时间
217 * @param flag 0返回时间的数字组合 1以时间格式返回
218 * @returns {String}
219 */
220function GetCurrentTime(flag) {
221    var currentTime = "";
222    var myDate = new Date();
223    var year = myDate.getFullYear();
224    var month = parseInt(myDate.getMonth().toString()) + 1; //month是从0开始计数的,因此要 + 1
225    if (month < 10) {
226        month = "0" + month.toString();
227    }
228    var date = myDate.getDate();
229    if (date < 10) {
230        date = "0" + date.toString();
231    }
232    var hour = myDate.getHours();
233    if (hour < 10) {
234        hour = "0" + hour.toString();
235    }
236    var minute = myDate.getMinutes();
237    if (minute < 10) {
238        minute = "0" + minute.toString();
239    }
240    var second = myDate.getSeconds();
241    if (second < 10) {
242        second = "0" + second.toString();
243    }
244    if(flag == "0") //返回时间的数字组合
245    {
246        currentTime = year.toString() + month.toString() + date.toString() + hour.toString() + minute.toString() + second.toString();
247    }
248    else if(flag == "1") //以时间格式返回
249    {
250        currentTime = year.toString() + "-" + month.toString() + "-" + date.toString() + " " + hour.toString() + ":" + minute.toString() + ":" + second.toString();
251    }
252    return currentTime;
253}
254/**
255 * 获得当前
256 * @param flag 0返回时间的数字组合 1以时间格式返回
257 * @returns {String}
258 */
259function GetTimeNine() {
260    var currentTime = "";
261    var myDate = new Date();
262    var year = myDate.getFullYear();
263    var month = parseInt(myDate.getMonth().toString()) + 1; //month是从0开始计数的,因此要 + 1
264    if (month < 10) {
265        month = "0" + month.toString();
266    }
267    var date = myDate.getDate();
268    if (date < 10) {
269        date = "0" + date.toString();
270    }
271    var hour = myDate.getHours();
272    if (hour < 10) {
273        hour = "0" + hour.toString();
274    }
275    var minute = myDate.getMinutes();
276    if (minute < 10) {
277        minute = "0" + minute.toString();
278    }
279    var second = myDate.getSeconds();
280    if (second < 10) {
281        second = "0" + second.toString();
282    }
283    currentTime = year.toString() + "-" + month.toString() + "-" + date.toString() ;
284
285    return currentTime;
286}
287/**
288 * 获得当前
289 * @param flag 0返回时间的数字组合 1以时间格式返回
290 * @returns {String}
291 */
292function GetNewDate() {
293    var currentTime = "";
294    var myDate = new Date();
295    var year = myDate.getFullYear();
296    var month = parseInt(myDate.getMonth().toString()) + 1; //month是从0开始计数的,因此要 + 1
297    if (month < 10) {
298        month = "0" + month.toString();
299    }
300    var date = myDate.getDate();
301    if (date < 10) {
302        date = "0" + date.toString();
303    }
304    var hour = myDate.getHours();
305    if (hour < 10) {
306        hour = "0" + hour.toString();
307    }
308    var minute = myDate.getMinutes();
309    if (minute < 10) {
310        minute = "0" + minute.toString();
311    }
312    var second = myDate.getSeconds();
313    if (second < 10) {
314        second = "0" + second.toString();
315    }
316    currentTime = year.toString()+ month.toString()+ date.toString() ;
317
318    return currentTime;
319}
320/**
321 * 得到下几天时间
322 * @param dd
323 * @returns {String}
324 */
325function getNextDayDate(AddDayCount,dd){
326    var date = new Date(dd);
327    date =+date + 1000*60*60*24*(AddDayCount);
328    date = new Date(date);
329    return date;
330
331}
332
333/**
334 * 得到下几天时间
335 * @param dd
336 * @returns {String}
337 */
338function getNextDay(AddDayCount,dd){
339    var date = new Date(dd);
340    date =+date + 1000*60*60*24*(AddDayCount);
341    date = new Date(date);
342    var y = date.getFullYear();
343    var m = date.getMonth()+1;//获取当前月份的日期
344    var d = date.getDate();
345    var dateStr="";
346    //格式化
347    if(d<10){
348        d="0"+d;
349    }
350    if(m<10){
351        m="0"+m;
352    }
353    dateStr=y+"-"+m+"-"+d;
354    return dateStr;
355
356}
357
358function compateDay(nowTime , lastTime ,nextTime){
359    if(lastTime <= nowTime&&lastTime <= nextTime){
360        return true;
361    }else{
362        return false;
363    }
364
365}
366
367
368
369function stringToDate(date, format){
370    if(typeof date == 'string'){
371        date = parseTime(date);
372    }
373    date = new Date(date);
374    var map = {
375        "M": date.getMonth() + 1, //月份
376        "d": date.getDate(), //日
377        "h": date.getHours(), //小时
378        "m": date.getMinutes(), //分
379        "s": date.getSeconds(), //秒
380        "q": Math.floor((date.getMonth() + 3) / 3), //季度
381        "S": date.getMilliseconds() //毫秒
382    };
383    format = format.replace(/([yMdhmsqS])+/g, function(all, t) {
384        var v = map[t];
385        if (v !== undefined) {
386            if (all.length > 1) {
387                v = '0' + v;
388                v = v.substr(v.length - 2);
389            }
390            return v;
391        } else if (t === 'y') {
392            return (date.getFullYear() + '').substr(4 - all.length);
393        }
394        return all;
395    });
396    return format;
397}
398
399
400/*function compareDate(DateOne, DateTwo) {
401	  var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-"));
402	  var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf("-") + 1);
403	  var OneYear = DateOne.substring(0, DateOne.indexOf("-"));
404	  var TwoMonth = DateTwo.substring(5, DateTwo.lastIndexOf("-"));
405	  var TwoDay = DateTwo.substring(DateTwo.length, DateTwo.lastIndexOf("-") + 1);
406	  var TwoYear = DateTwo.substring(0, DateTwo.indexOf("-"));
407	  if (Date.parse(OneMonth + "/" + OneDay + "/" + OneYear) > Date.parse(TwoMonth + "/" + TwoDay + "/" + TwoYear)) {
408	    return true;
409	  } else {
410	    return false;
411	  }
412	}*/
413
414function compareDate(d1,d2)
415{
416    return ((new Date(d1.replace(/-/g,"\/"))) > (new Date(d2.replace(/-/g,"\/"))));
417}
418
419function DateMinus(sDate,mDate){
420    var sdate = new Date(sDate.replace(/-/g, "/"));
421    var mDate = new Date(mDate.replace(/-/g, "/"));
422    var days = mDate.getTime() - sdate.getTime();
423    var day = parseInt(days / (1000 * 60 * 60 * 24));
424    return day;
425}
426
427function datedifference(sDate1, sDate2) {    //sDate1和sDate2是2006-12-18格式
428    var dateSpan,
429        tempDate,
430        iDays;
431    sDate1 = Date.parse(sDate1);
432    sDate2 = Date.parse(sDate2);
433    dateSpan = sDate2 - sDate1;
434    dateSpan = Math.abs(dateSpan);
435    iDays = Math.floor(dateSpan / (24 * 3600 * 1000));
436    return iDays
437};
438
439/**
440 * 获取当前月的第一天
441 */
442function getCurrentMonthFirst(date){
443    if(!date){
444        date=new Date();
445    }
446    date.setDate(1);
447    return date;
448}
449/**
450 * 获取当前月的最后一天
451 */
452function getCurrentMonthLast(date){
453    if(!date){
454        date=new Date();
455    }
456    var currentMonth=date.getMonth();
457    var nextMonth=++currentMonth;
458    var nextMonthFirstDay=new Date(date.getFullYear(),nextMonth,1);
459    var oneDay=1000*60*60*24;
460    return new Date(nextMonthFirstDay-oneDay);
461}
462
463//获取当前时间,格式YYYY-MM-DD
464//把字符串日期转为日期
465function ConvertStrToDate(datetimeStr) {
466    var mydateint = Date.parse(datetimeStr);//数值格式的时间
467    if (!isNaN(mydateint)) {
468        var mydate = new Date(mydateint);
469        return mydate;
470    }
471    var mydate = new Date(datetimeStr);//字符串格式时间
472    var monthstr = mydate.getMonth() + 1;
473    if (!isNaN(monthstr)) {//转化成功
474        return mydate;
475    }//字符串格式时间转化失败
476    var dateParts = datetimeStr.split(" ");
477    var dateToday = new Date();
478    var year = dateToday.getFullYear();
479    var month = dateToday.getMonth();
480    var day = dateToday.getDate();
481    if (dateParts.length >= 1) {
482        var dataPart = dateParts[0].split("-");//yyyy-mm-dd  格式时间
483        if (dataPart.length == 1) {
484            dataPart = dateParts[0].split("/");//yyyy/mm/dd格式时间
485        }
486        if (dataPart.length == 3) {
487            year = Math.floor(dataPart[0]);
488            month = Math.floor(dataPart[1]) - 1;
489            day = Math.floor(dataPart[2]);
490        }
491    }
492    if (dateParts.length == 2) {//hh:mm:ss格式时间
493        var timePart = dateParts[1].split(":");//hh:mm:ss格式时间
494        if (timePart.length == 3) {
495            var hour = Math.floor(timePart[0]);
496            var minute = Math.floor(timePart[1]);
497            var second = Math.floor(timePart[2]);
498            return new Date(year, month, day, hour, minute, second);
499        }
500    }
501    else {
502        return new Date(year, month, day);
503    }
504}
505
506//获取服务器时间
507function getServerDate(){
508    return new Date($.ajax({async: false}).getResponseHeader("Date"));
509}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.