如果有人可以通过以下JavaScript帮助我解决我所缺少的问题,我将不胜感激(我正在将一个巨大的网站从PHP转换为Javascript,因为该组织已切换到新的CMS)。
<script type="text/javascript">
document.getElementById("year1").innerHTML = getYearOffset("0000-06-01", -1);
// plus 1 year
document.getElementById("year2").innerHTML = getYearOffset("0000-06-01", 1);
</script>
然后是内联代码:
<span id="year1"></span>-<span id="year2"></span>
我希望这显示当前年份 - 明年6月1日及之后。
PHP的原始功能是:
<?php if (date('m') > 06) {
echo date('Y');
} else {
echo date('Y')-1; }
echo "-";
if (date('m') > 06) {
echo date('y')+1;
} else {
echo date('y'); }
?>
如果有人可以提供帮助,我会非常感激。我一直在努力学习这些JavaScript,可能是因为筋疲力尽!
答案 0 :(得分:2)
你也可以只使用JavaScript,但是有一种更简单的替代方法可以使用momentjs非常流行的lib来进行解析,验证,操作和显示JavaScript中的日期和时间。
为了明年从特定日期获得确切的信息,这是方法:moment().add(1, 'years');
结帐以下工作代码:
let date = moment().year() + "-06-01";
let y1 = moment(date).format("YYYY-MM-DD");
console.log(y1);
let y2 = moment(y1).add(1, 'years').format("YYYY-MM-DD");
console.log(y2);
document.getElementById("year1").innerHTML = y1;
// plus 1 year
document.getElementById("year2").innerHTML = y2;
&#13;
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.22.1/moment.js"></script>
<span id="year1"></span> - <span id="year2"></span>
&#13;
答案 1 :(得分:0)
这些建议都没有完全符合我的要求所以我从头开始再做一些新的东西(实际上有效!)。问题的一部分是我不完全清楚(在我的脑海里和我在这里形成的问题)我需要/希望脚本做什么。
以下是代码:
<script type="text/javascript">
var today = new Date();
var mm = today.getMonth()+1; //January is 0!
if (mm < 10) {
mm = '0'+mm
}
today = mm;
if (today >= 07){
var theDate = new Date();
var curr_year = theDate.getFullYear();
var next_year = theDate.getFullYear()+1;
}
else if (today < 07){
var theDate = new Date();
var curr_year = theDate.getFullYear()-1;
var next_year = theDate.getFullYear();
}
</script>
和
<script>document.write(curr_year + "–" + next_year);</script>
如果月份在6月之前,则脚本应写入“去年” - “当前年份”。 如果月份是六月或更晚,则脚本应写为“当前年份” - “明年”。
比PHP中相当简单的命令复杂得多!