JS中已经知道一个日期如何获取7天后的那个日期
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JS中已经知道一个日期如何获取7天后的那个日期相关的知识,希望对你有一定的参考价值。
将代码输入到txt,然后修改为html格式的文件。双击执行可查看7天后的那个日期。
JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。
代码如下:
<body>
<table>
<tr>
<td id="time"></td>
</tr>
</table>
<script type="text/javascript">
var d=new Date()
var str=d.getMonth()+"-"+(d.getDate()-7)+" "+d.getHours()+":"+d.getMinutes();
document.getElementById("time").innerHTML=str;
</script>
</body>
扩展资料:
JavaScript基本特点:
1、是一种解释性脚本语言(代码不进行预编译)。
2、主要用来向HTML(标准通用标记语言下的一个应用)页面添加交互行为。
3、可以直接嵌入HTML页面,但写成单独的js文件有利于结构和行为的分离。
4、跨平台特性,在绝大多数浏览器的支持下,可以在多种平台下运行(如Windows、Linux、Mac、Android、iOS等)。
参考资料:javascript_百度百科
JS实现简单获取7天后日期方法:
function fun_date(aa)
var date1 = new Date(),
time1=date1.getFullYear()+"-"+(date1.getMonth()+1)+"-"+date1.getDate();//time1表示当前时间
var date2 = new Date(date1);
date2.setDate(date1.getDate()+aa);
var time2 = date2.getFullYear()+"-"+
(date2.getMonth()+1)+"-"+date2.getDate();
fun_date(7);//7天后的日期
扩展资料
getDate:使用当地时间返回 Date 对象的月份日期值。
getFullYear:使用当地时间返回 Date 对象的年份。
getMonth:使用当地时间返回 Date 对象的月份。
将如下代码复制到txt,然后修改为html格式的文件;双击执行可查看效果
<!DOCTYPE HTML><html>
<head>
<title>时间</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<script>
function fun_submit(arg)
var date1 = new Date();
alert(date1.getFullYear()+"-"+(date1.getMonth()+1)+"-"+date1.getDate())
var date2 = new Date(date1);
date2.setDate(date1.getDate()+7);
var times = date2.getFullYear()+"-"+(date2.getMonth()+1)+"-"+date2.getDate();
alert(times);
</script>
</head>
<body>
<input type="button" value="7天后的时间" onclick="fun_submit('2015-11-09');"/>
</body>
</html>
var d1 = new Date();
var d2 = new Date(d1);
d2.setDate(d1.getDate()+7);
-----新的分割线------
看到评论居然有喷子, 2.28的情况下+2天,JS会自动转化成3.1(根据年可能是3.2),其原理,评论上也有小伙伴也说了,其实就是类似于转成毫秒之后直接加对应的毫秒数的……
如何在php中获取上周的日期(星期二或其他日期)?
我认为这是可能的,但我无法提出正确的算法。
我想做的是:
如果今天是2009年2月2日,我怎么知道上周的星期二?使用两天后的相同代码,我会找到上周二的同一日期,而当前日期是2009年2月4日,星期三。
我知道已经有一个可接受的答案,但是恕我直言,它不满足所要求的第二个要求。在上述情况下,如果在星期三使用strtotime,它将在昨天产生收益。因此,准确地说,您仍然需要检查以下内容:
$tuesday = strtotime('last Tuesday');
// check if we need to go back in time one more week
$tuesday = date('W', $tuesday)==date('W') ? $tuesday-7*86400 : $tuesday;
正如davil在他的评论中指出的,这是我的快速镜头。由于夏令时,上述计算每年将关闭一次。足够好的解决方案是:
$tuesday = date('W', $tuesday)==date('W') ? $tuesday-7*86400+7200 : $tuesday;
如果您需要时间为0:00h,则当然需要额外的精力。
这些答案中的大多数要么太多,要么在技术上不正确,因为“上星期二”并不一定表示上周的星期二,而仅表示上一个星期二,可能在“现在”的同一周内。
正确的答案是:
strtotime('tuesday last week')
PHP实际上使这变得非常容易:
echo strtotime('last Tuesday');
请参阅strtotime
文档。
有效的解决方案:
strtotime
您忘记了strtotime作为date('W',$ tuesday)的第二个参数嗯。
将$ tuesday转换为“ $ tuesday-7 * 86400 + 7200”之前的时间戳
mde。
$z = date("Y-m-d", strtotime("last Saturday"));
$z = (date('W', strtotime($z)) == date('W')) ? (strtotime($z)-7*86400+7200) : strtotime($z);
print date("Y-m-d", $z);
// test: find last date for each day of the week
foreach (array('Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun') as $day) {
print $day . " => " . date('m/d/Y', last_dayofweek($day)) . "
";
}
function last_dayofweek($day)
{
// return timestamp of last Monday...Friday
// will return today if today is the requested weekday
$day = strtolower(substr($day, 0, 3));
if (strtolower(date('D')) == $day)
return strtotime("today");
else
return strtotime("last {$day}");
}
不使用手动计算,请改用DateTime对象。它具有适当的实现,并考虑了leap年,yap秒等。
<?php
$currentDay = date('D');
echo "Today-".$today = date("Y-m-d");
echo "Yesterday-".$yesterday = date("Y-m-d",strtotime('yesterday'));
echo "Same day last week-".$same_day_last_week = date("Y-m-d",strtotime('last '.$currentDay));
?>
[modify方法修改相对于日期状态的日期,因此,如果将日期设置为其他日期,它将计算相对于日期的日期。
$today = new DateTime();
$today->modify('tuesday last week');
以上是关于JS中已经知道一个日期如何获取7天后的那个日期的主要内容,如果未能解决你的问题,请参考以下文章