时间date函数

Javascript ThinkPhp 发表时间:2020-10-12 16:57:22 作者:梁子亮 浏览次数:784

前端JavaScript

1、js获取下下周日23:30:00的时间戳(毫秒格式)

// var _date = new Date('2020/10/4 23:29:01'); // 直接传入日期可以获得当日的格式化日期(非时间戳)
var _date = new Date();
var _nowTime = _date.getTime();//毫秒格式
var _week = _date.getDay();
var _year = _date.getFullYear();
var _momth = _date.getMonth() + 1;
var _day = _date.getDate();
var formatTime = _year + '/' + _momth + '/' + _day + ' 23:30:00';
var _furtureTime = new Date(formatTime).getTime();//相当于 Date.parse(new Date(formatTime));
var _endday = 14; // 默认下下周日为14天
if(_week == 0){
    // 当天就是周日,那就看看现在的时间是否已经超过23:30:00
    var _balance = _nowTime - _furtureTime;
    if(_balance <= 0){
        // 今天是周日且现在未到23:30:00
        var _endday = 7;
    }
}
var _furtureSundayTimes = _furtureTime + (_endday - _week) * 86400000;
console.log(_furtureSundayTimes);

2、获取今天后的时间(GMT格式)

var d = new Date();
d.setTime(d.getTime() + 86400*1000);
var t = d.toGMTString();
console.log(t);


服务端Php

1、获取下一天、下一周、下个月、下一年的日期

$next_day = date('Y-m-d',strtotime('+1 days'));
$next_week = date('Y-m-d',strtotime('+1 weeks'));
$next_month = date('Y-m-d',strtotime('+1 months'));
$next_year = date('Y-m-d',strtotime('+1 years'));

print_dump返回如下

string(10) "2021-07-16"

string(10) "2021-07-22"

string(10) "2021-08-15"

string(10) "2022-07-15"

2、获取下一天、下一周、下个月、下一年的时间戳

$next_day = strtotime('+1 days');
$next_week = strtotime('+1 weeks');
$next_month = strtotime('+1 months');
$next_year = strtotime('+1 years');

print_dump返回如下

int(1626416974)

int(1626935374)

int(1629008974)

int(1657866574)

3、获取当月、下个月、下两月、下三月的月份天数(即:月份最后一天的日期)

$day1 = date('t');
$day2 = date('t',strtotime('+1 months'));
$day3 = date('t',strtotime('+2 months'));
$day4 = date('t',strtotime('+3 months'));

print_dump返回如下(假设当月未7月)

string(2) "31"

string(2) "31"

string(2) "30"

string(2) "31"

4、获取指定日期的后一天的日期

date("Y-m-d",strtotime("+1 days",strtotime("2014-07-01")));

5、获取本周的7天日期(本周日至下周六的日期)

$w = date('w'); // 查看今天是周几,返回 0-6,表示周日至周六
if($w == 0){
// 若今天是周日,则开始日期就是今日
$week_start = date('Y-m-d');
}else{
// 否则,取上一个周日
$week_start = date('Y-m-d', strtotime('-1 sunday', time()));
}
if($w == 6){
// 若今天是周六,则开始日期就是今日
$week_end = date('Y-m-d');
}else{
// 否则,取下一个周六
$week_end = date('Y-m-d', strtotime('+1 saturday', time()));
}

print_dump($week_start,$week_end);die;