JavaScript日期
如何将代码JavaScript日期,javascript,function,date,Javascript,Function,Date,如何将代码文档。写入(“直到指定日期”)更改为写入消息(日期)中的日期?此外,writeMessage(date)中的日期也没有正确通过(只有年份通过)。感谢您对修复此问题的任何帮助 函数beginMessage(数字、时间类型){ 如果(数字>0){ 文件。填写(“有”); 文件。书写(编号); 文件。填写(“”); document.write(时间类型); 文件。填写(“直到指定日期”); 文件。写(“”); }否则{ 数字=-数字; 文件。填写(“已存在”); 文件。书写(编号); 文
文档。写入(“直到指定日期”)
更改为写入消息(日期)
中的日期?此外,writeMessage(date)
中的日期也没有正确通过(只有年份通过)。感谢您对修复此问题的任何帮助
函数beginMessage(数字、时间类型){
如果(数字>0){
文件。填写(“有”);
文件。书写(编号);
文件。填写(“”);
document.write(时间类型);
文件。填写(“直到指定日期”);
文件。写(“
”);
}否则{
数字=-数字;
文件。填写(“已存在”);
文件。书写(编号);
文件。填写(“”);
document.write(时间类型);
文件。填写(“自指定日期起”);
文件。写(“
”);
}
如果((时间类型===未定义的| |数字===未定义的| | isNaN(数字))){
document.body.innerHTML=“”;
}
}
函数writeMessage(日期){
clearDocument();
var today=新日期();
var calculateDate=新日期(日期);
var millides=calculateDate.getTime()-today.getTime();
beginMessage(毫秒,“毫秒”);
var秒=毫秒/1000;
秒=parseInt(秒);
beginMessage(秒,“秒”);
var分钟=秒/60;
分钟=parseInt(分钟);
beginMessage(分钟,“分钟”);
var小时=分钟/60;
小时=parseInt(小时);
beginMessage(小时,“小时”);
var天数=小时/24;
天=parseInt(天);
beginMessage(天,“天”);
var周=天/7;
周=parseInt(周);
beginMessage(周,“周”);
如果((日期==未定义| | isNaN(日期))){
document.body.innerHTML=“”;
}
setTimeout(“writeMessage(““+date+”);”,1);
}
函数clearDocument(){
document.body.innerHTML=“”;
}
书面信息(“2017-07-04”)代码>正如我在评论中所写:
// 'global' variable that both beginMessage and writeMessage can access
var writtenDate = null;
function beginMessage(number, timeType) {
if (number > 0) {
...
document.write(" until " + writtenDate);
...
} else {
...
}
}
function writeMessage(date) {
// save the date sent to this function is the variable, so beginMessage can see it as well.
writtenDate = date;
...
}
function clearDocument() {
document.body.innerHTML = "";
}
writeMessage("2017-07-04");
// OR preferably: an extra parameter.
function beginMessage(number, timeType, designatedDate) {
if (number > 0) {
...
document.write(" until " + designatedDate);
...
} else {
...
}
function writeMessage(date) {
...
beginMessage(milliseconds, "milliseconds", date);
...
beginMessage(seconds, "seconds", date);
...
beginMessage(minutes, "minutes", date);
...
beginMessage(hours, "hours", date);
...
beginMessage(days, "days", date);
...
beginMessage(weeks, "weeks", date);
...
}
...
writeMessage("2017-07-04");
我在评论中写道:
// 'global' variable that both beginMessage and writeMessage can access
var writtenDate = null;
function beginMessage(number, timeType) {
if (number > 0) {
...
document.write(" until " + writtenDate);
...
} else {
...
}
}
function writeMessage(date) {
// save the date sent to this function is the variable, so beginMessage can see it as well.
writtenDate = date;
...
}
function clearDocument() {
document.body.innerHTML = "";
}
writeMessage("2017-07-04");
// OR preferably: an extra parameter.
function beginMessage(number, timeType, designatedDate) {
if (number > 0) {
...
document.write(" until " + designatedDate);
...
} else {
...
}
function writeMessage(date) {
...
beginMessage(milliseconds, "milliseconds", date);
...
beginMessage(seconds, "seconds", date);
...
beginMessage(minutes, "minutes", date);
...
beginMessage(hours, "hours", date);
...
beginMessage(days, "days", date);
...
beginMessage(weeks, "weeks", date);
...
}
...
writeMessage("2017-07-04");
Shilly得到了大部分答案。关于:
只有一年过去了
当您在页面完成加载后调用document.write时,它首先清除整个文档,包括调用它的脚本。因此,在某个时刻,文档完成加载,您将删除脚本,使其无法再运行。您可以看到此时写入页面的内容
因此:
不要使用document.write,以其他方式显示输出(例如element.textContent)
如果必须使用它,请构造单个字符串并使用单个document.write,同时加载页面
除非要清除整个文档,否则不要在页面加载后调用它
最后,你的日期算术被打破了<代码>新日期(“2017-07-04”)
将字符串解析为UTC,因此时差将根据主机系统的时区偏移量进行调整。如果设置为UTC+0000,则可以,但不能设置为其他值。Shilly给出了大部分答案。关于:
只有一年过去了
当您在页面完成加载后调用document.write时,它首先清除整个文档,包括调用它的脚本。因此,在某个时刻,文档完成加载,您将删除脚本,使其无法再运行。您可以看到此时写入页面的内容
因此:
最后,你的日期算术被打破了<代码>新日期(“2017-07-04”)将字符串解析为UTC,因此时差将根据主机系统的时区偏移量进行调整。如果设置为UTC+0000,则可以,但不能设置为其他值。您必须使用beginMessage可以读取的内容。因此,要么是一个(全局)变量,要么是beginMessage中的另一个参数:
beginMessage(毫秒,“毫秒”,日期)
文档。write
是20世纪的产物,对于这种输出,它可能根本没有用处。谢谢您的帮助!你必须使用beginMessage可以阅读的东西。因此,要么是一个(全局)变量,要么是beginMessage中的另一个参数:beginMessage(毫秒,“毫秒”,日期)
文档。write
是20世纪的产物,对于这种输出,它可能根本没有用处。谢谢您的帮助!