javascriptパッケージDate日付類の実例
3697 ワード
javascript-パッケージDate日付タイプ
(一)日付を書式設定する
カスタムDate日付クラスのフォーマット方法
方式一:(オリジナルではない)
Date.parse()は互換性の問題があり、下位バージョンのIEブラウザは「yy-M-dd」をDateに変換することをサポートしておらず、「yyy/MM/dd」のみを日付に変換する.
読んでくれてありがとうございます.みなさんのご協力をお願いします.ありがとうございます.
(一)日付を書式設定する
カスタムDate日付クラスのフォーマット方法
方式一:(オリジナルではない)
// Date , Date String
// (M)、 (d)、 (H)、 (m)、 (s)、 (q) 1-2 ,
// (y) 1-4 , (S) 1 ( 1-3 )
// :
// (new Date()).Format("yyyy-MM-dd HH:mm:ss.S") ==> 2016-09-19 16:32:53.731
// (new Date()).Format("yyyy-M-d H:m:s:S") ==> 2016-9-19 16:40:9:955
Date.prototype.Format = function (fmt) { //author: meizz
var o = {
"M+": this.getMonth() + 1, //
"d+": this.getDate(), //
"H+": this.getHours(), //
"m+": this.getMinutes(), //
"s+": this.getSeconds(), //
"q+": Math.floor((this.getMonth() + 3) / 3), //
"S": this.getMilliseconds() //
};
if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
};
テスト:
window.onload=function() {
var date = new Date();
var b = date.toLocaleDateString();// :2016 9 19
var d = date.toLocaleTimeString();// 4:42:46
var e = date.toLocaleString();//2016 9 19 4:44:02
var f = date.toDateString();//Mon Sep 19 2016
var g = date.toUTCString();//Mon, 19 Sep 2016 08:45:42 GMT
var h = date.toString();//Mon Sep 19 2016 16:46:23 GMT+0800 ( )
//
var c = date.Format("yyyy-MM-dd HH:mm:ss");//format()
document.getElementById("aa").value = c;
};
(二)日付によって今週の月曜日と日曜日の日付を返します.
/**
*
* @param day
*
* @param num
*
* @return oneWeek
* ,
*/
function getWeekDate(day,num) {
num = num || 0;
// :
var oneWeek = {};
//
var initDate = "";
//
initDate = day.split(' ')[0];
// ie , yyyy-MM-dd yyyy/MM/dd
initDate = initDate.replace(/-/g,"/");
// string Date
initDate = new Date(Date.parse(initDate));// yyyy/MM/dd
// day 1970 1 1 0 0
var nowTime = initDate.getTime();
// : 0( ) 6( )
var weekNum = initDate.getDay();
//
var oneDayTime = 24 * 60 * 60 * 1000;
//
var MondayTime = nowTime - (weekNum - 1) * oneDayTime ;
//
var SundayTime = nowTime + (7 - weekNum) * oneDayTime ;
if (0 != num) {
MondayTime += 7 * num * oneDayTime;
SundayTime += 7 * num * oneDayTime;
}
//
var monday = new Date(MondayTime);
var sunday = new Date(SundayTime);
// formatDate
monday = monday.formatDate('yyyy-MM-dd');
sunday = sunday.formatDate('yyyy-MM-dd');
oneWeek.Monday = monday;
oneWeek.Sunday = sunday;
return oneWeek;
}
テスト:
var week = getWeekDate('2017-05-27',0);
console.log(week.Monday + "," + week.Sunday);
注意:Date.parse()は互換性の問題があり、下位バージョンのIEブラウザは「yy-M-dd」をDateに変換することをサポートしておらず、「yyy/MM/dd」のみを日付に変換する.
読んでくれてありがとうございます.みなさんのご協力をお願いします.ありがとうございます.