blog

js_get_default_time

デフォルトの時刻を取得 日付の書式を変換 現在の月の次の月の時刻を取得 現在の月の次の月の時刻を取得 デフォルトの月を取得} 日数を計算 指定された時刻を取得 type default afterti...

Aug 5, 2020 · 4 min. read
シェア
export function getDefaultTime(value = 'Y-M-D') {
 return new Promise((resolve, reject) => {
 let nowTime = new Date();
 let year = nowTime.getFullYear();
 let month = nowTime.getMonth() + 1;
 let nowDay = nowTime.getDate();
 let [isYear, isMonth, isDay] = [value.indexOf('Y') > -1, value.indexOf('M') > -1, value.indexOf('D') > -1];
 let date1 = `${isYear ? year : ' '}-${isMonth ? month : ' '}-${isDay ? '01' : ''}`.replace(/[-\s]{2}/, '').replace(/((^\s+-)|(\s+-$)|(-$))/, '');
 let date2 = `${isYear ? year : ' '}-${isMonth ? month : ' '}-${isDay ? nowDay : ''}`.replace(/[-\s]{2}/, '').replace(/((^\s+-)|(\s+-$)|(-$))/, '');
 let hour = nowTime.getHours();
 let minute = nowTime.getMinutes();
 let second = nowTime.getSeconds();
 let [isHour, isMinute, isSecond] = [value.indexOf('h') > -1, value.indexOf('m') > -1, value.indexOf('s') > -1];
 let dateTs = `${isHour ? '00' : ' '}:${isMinute ? '00' : ' '}:${isSecond ? '00' : ''}`.replace(/[:\s]{2}/, '').replace(/((^\s+:)|(\s+:$))/, '');
 let dateTe = `${isHour ? hour : ' '}:${isMinute ? minute : ' '}:${isSecond ? second : ''}`.replace(/[:\s]{2}/, '').replace(/((^\s+:)|(\s+:$))/, '');
 let dateS = date1 + (dateTs && date1 ? ' ' + dateTs : dateTs);
 let dateE = date2 + (dateTe && date2 ? ' ' + dateTe : dateTe);
 if (dateS && dateE) {
 resolve({
 start: dateS,
 end: dateE
 })
 } else {
 reject({
 start: '',
 end: ''
 })
 }
 })
}

デフォルト時間の取得

 export function getSingleDate() {
 return new Promise((resolve, reject) => {
 let nowTime = new Date();
 let year = nowTime.getFullYear();
 let month = nowTime.getMonth() + 1;
 let nowDay = nowTime.getDate();
 // let date1 = year + '-' + month + '-' + '01';
 let dates = year + '-' + month + '-' + nowDay;
 
 if (dates) {
 resolve({
 date: dates,
 })
 } else {
 reject({
 date: ,
 })
 }
 })
 }

日付形式の変換

Date.prototype.format= function(format) {
 var o = {
 "M+" : this.getMonth()+1, //month
 "d+" : this.getDate(), //day
 "h+" : this.getHours(), //hour
 "m+" : this.getMinutes(), //minute
 "s+" : this.getSeconds(), //second
 "q+" : Math.floor((this.getMonth()+3)/3), //quarter
 "S" : this.getMilliseconds() //millisecond
 }
 if(/(y+)/.test(format)) format=format.replace(RegExp.$1,
 (this.getFullYear()+"").substr(4 - RegExp.$1.length));
 for(var k in o)if(new RegExp("("+ k +")").test(format))
 format = format.replace(RegExp.$1,
 RegExp.$1.length==1 ? o[k] :
 ("00"+ o[k]).substr((""+ o[k]).length));
 return format;
};

当月の翌月時間取得

 export function getNextTime() {
 return new Promise((resolve, reject) => {
 let nowTime = new Date();
 let year = nowTime.getFullYear();
 let month = nowTime.getMonth() + 2 > 12 ? 1 : nowTime.getMonth() + 2;
 let date1 = new Date(year, month-1, 1).format('yyyy-MM-dd');
 let date2 = new Date(year, month, 0).format('yyyy-MM-dd');
 if (date1 && date2) {
 resolve({
 start: date1,
 end: date2
 })
 } else {
 reject({
 start: '',
 end: ''
 })
 }
 })
}

当月の翌月を取得

 export function getNextMonth() {
 return new Promise((resolve, reject) => {
 let nowTime = new Date();
 let year = nowTime.getFullYear();
 let month = nowTime.getMonth() + 2 > 12 ? 1 : nowTime.getMonth() + 2;
 let date1 = new Date(year, month-1, 1).format('MM-dd');
 let date2 = new Date(year, month, 0).format('MM-dd');
 
 
 if (date1 && date2) {
 resolve({
 start: date1,
 end: date2
 })
 } else {
 reject({
 start: '10-17',
 end: '10-17'
 })
 }
 })
 }

デフォルトの月を取得

export function getDefaultMonth() {
return new Promise((resolve, reject) => {
 let nowTime = new Date();
 let year = nowTime.getFullYear();
 let month = nowTime.getMonth() + 1;
 let currentMonth = year + '-' + month;
 if(currentMonth){
 resolve({
 month: currentMonth
 })
 }else {
 reject({
 month: ''
 })
 }
})

}

日数を計算

export function getDays() {
 let s1 = '';
 let s2 = '';
 s1 = new Date(s1.replace(/-/g, "/"));
 s2 = new Date(s2.replace(/-/g, "/"));
 let days = s2.getTime() - s1.getTime();
 let time = parseInt(days / ( * 24));
}

指定時間の取得

  • params

  • type: type default aftertime ;val 日付からNヶ月後

     export function getAppointDate(val, num = 3, type = 'aftertime') {
     let backVal;
     switch (type) {
     case 'aftertime':
     let month = val.match(/-\d{1,2}/)[0];
     let inx = val.search(/-\d{1,2}/);
     month *= -1;
     let totalMonth = month + num;
     let addYear = Math.floor((month + num) / 12);
     let intCountDate = totalMonth % 12 || totalMonth;
     let countDate = totalMonth <= 12 ? `${val.substring(0, inx)}-${intCountDate}` : `${val.substring(0, inx) * 1 + addYear}-${intCountDate}`;
     let is31Day = [1, 3, 5, 7, 8, 10, 12];
     let is30Day = [4, 6, 9, 11];
     let day = val.match(/-\d{1,2}$/)[0] * - 1;
     if (is31Day.indexOf(intCountDate) > -1) {
     day = day > 31 ? 31 : day;
     } else if (is30Day.indexOf(intCountDate) > -1) {
     day = day > 30 ? 30 : day;
     } else {
     if (val.substring(0, 3) % 4 === 0) {
     day = day > 29 ? 29 : day;
     } else {
     day = day > 28 ? 28 : day;
     }
     }
     backVal = countDate + '-' + day;
     break;
     }
     return backVal;
     }
    
Read next

[その他】電子証明書は、自己署名と機関署名の区別がある

IP証明書とドメイン名証明書はデジタル証明書であり、ブラウザがサーバにアクセスする際、httpsリクエストであれば、サーバは公開鍵と証明書を返します。証明書が信頼できる発行者によって発行されたものであれば、この証明書を信頼することができますが、そうでなければ、セキュリティ上の問題を警告します。

Aug 5, 2020 · 2 min read