显示今天前3天的星期日';使用javascript创建日期

显示今天前3天的星期日';使用javascript创建日期,javascript,date,Javascript,Date,我尝试使用javascript显示html页面访问前3天的星期几。今天是星期天、星期一或星期二时它不起作用。 (我认为问题在于日期编号为0-6,不考虑var日期行中的负数) var now=newdate(); var天=新数组( “星期日”、“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”); var月=新数组( “一月”、“二月”、“三月”、“四月”、“五月”, “六月”、“七月”、“八月”、“九月”、“十月”, "十一月","十二月";; var date=((now

我尝试使用javascript显示html页面访问前3天的星期几。今天是星期天、星期一或星期二时它不起作用。 (我认为问题在于日期编号为0-6,不考虑var日期行中的负数)

var now=newdate();
var天=新数组(
“星期日”、“星期一”、“星期二”、“星期三”、“星期四”、“星期五”、“星期六”);
var月=新数组(
“一月”、“二月”、“三月”、“四月”、“五月”,
“六月”、“七月”、“八月”、“九月”、“十月”,
"十一月","十二月";;

var date=((now.getDate()您的代码存在许多问题

<SCRIPT LANGUAGE="JavaScript">
返回一个表示一周中某一天的数字,周日为0,周六为6,因此从周日到周二(天数0–2),您将尝试访问不存在的天数属性,该属性将返回未定义

始终返回小于1900的年份。请改用

见和

您应该从日期减去3天开始,然后格式化输出结果:

var now=newdate();
now.setDate(now.getDate()-3);
var days=[‘星期日’、‘星期一’、‘星期二’、‘星期三’、‘星期四’、‘星期五’、‘星期六’];
var月数=[‘一月’、‘二月’、‘三月’、‘四月’、‘五月’、‘六月’、‘七月’,
“八月”、“九月”、“十月”、“十一月”、“十二月”];
var date=now.getDate();
日期=(日期<10?“0”:“)+日期;
var today=days[now.getDay()]+“,”+
月份[现在。getMonth()]+“”+
日期+”,“+now.getFullYear();

document.write(今天);
如果你想进行日期计算或渲染,我强烈建议使用moment.js。它比vanilla js datesWorks容易得多。太好了。谢谢你,Rob。这个评论可能是重复的:Snippet很好用。谢谢@RobG。我如何运行(调用?)它来自网站的css文件?你不能从css文件调用javascript函数,它被解释为text/css而不是text/javascript。好的,我理解我不能从css文件调用javascript。我不希望我打算使用它的文件的读者能够使用源代码视图查看和/或复制它。有什么建议吗?在服务器上运行它呃,任何到客户端的东西都属于客户端,用户可以用它做他们想做的事情。请参阅。
<SCRIPT LANGUAGE="JavaScript">
<!--
var date = ((now.getDate()<10) ? "0" : "")+ now.getDate()-3;
var date = now.getDate();
date = (date < 10? '0' : '') + date;
today =  days[now.getDay() -3] + ", " +
   (fourdigits(now.getYear()));