2017-01-12 40 views
-1

我在函数内添加换行符有问题。该功能显示日期和时间。我需要在第二条线上显示日期和时间。我检查了所有相关的答案。我曾尝试使用\ n,br,join(“\ n”),尝试在我的函数内部创建br元素,但不幸的是它不起作用。这里是我的一段代码:在函数内添加换行符

function getTime(a) 
{ 
    var d; 
    if(a) { 
    d = new Date(a); 
    } else { 
    d = new Date(); 
    } 
    return ('0' + d.getDate()).slice(-2) + '.'+ 
     ('0' + (d.getMonth() + 1)).slice(-2) + '.' + 
     (d.getYear() + 1900) + ' ' + // here instead of space I need to add a line break in order to display time on a new line 
     ('0' + d.getHours()).slice(-2) + ':' + 
     ('0' + d.getMinutes()).slice(-2) + ':' + 
     ('0' + d.getSeconds()).slice(-2) + '.' + 
     d.getMilliseconds(); 
} 

请给我提示如何解决问题。 非常感谢您提前!

+0

我假设你正在网页上显示。是对的吗?如果是这样的话,你正确的使用'
',并且按照预期工作:https://jsfiddle.net/wxpz8njf/ – Jamiec

+0

你应该告诉我们这个字符串是如何发送显示的,以及在什么环境或框架下(如果有的话)。我假设有一个,它显示前清理字符串('\ n'或'
'应该工作,如果不能,他们很可能被删除) – Kaddath

+0

而不是'd.getYear()+ 1900'你应该使用'd.getFullYear()'。两位数* getYear *被有效引入[* ECMA-262 ed 1 *]中弃用(http://ecma-international.org/publications/files/ECMA-ST-ARCH/ECMA-262,%201st%20edition ,%20June%201997.pdf)。为什么它没有被删除是一个谜。 – RobG

回答

2

您可以添加一个新行字符:

function getTime(a) 
 
{ 
 
    var d; 
 
    if(a) { 
 
    d = new Date(a); 
 
    } else { 
 
    d = new Date(); 
 
    } 
 
    return ('0' + d.getDate()).slice(-2) + '.'+ 
 
     ('0' + (d.getMonth() + 1)).slice(-2) + '.' + 
 
     (d.getYear() + 1900) + '\n' + // here instead of space I need to add a line break in order to display time on a new line 
 
     ('0' + d.getHours()).slice(-2) + ':' + 
 
     ('0' + d.getMinutes()).slice(-2) + ':' + 
 
     ('0' + d.getSeconds()).slice(-2) + '.' + 
 
     d.getMilliseconds(); 
 
} 
 

 
console.log(getTime())

,或者如果您在标记内的HTML希望你添加<br>

function getTime(a) 
 
    { 
 
     var d; 
 
     if(a) { 
 
     d = new Date(a); 
 
     } else { 
 
     d = new Date(); 
 
     } 
 
     return ('0' + d.getDate()).slice(-2) + '.'+ 
 
      ('0' + (d.getMonth() + 1)).slice(-2) + '.' + 
 
      (d.getYear() + 1900) + ' <br> ' + // here instead of space I need to add a line break in order to display time on a new line 
 
      ('0' + d.getHours()).slice(-2) + ':' + 
 
      ('0' + d.getMinutes()).slice(-2) + ':' + 
 
      ('0' + d.getSeconds()).slice(-2) + '.' + 
 
      d.getMilliseconds(); 
 
    } 
 

 
document.querySelector('.test').innerHTML = getTime()
<div class='test'></div>

如果您处理html标记<br>标记是显示回车的正确方法。

+0

'我试图用\ n,br' < - 原始问题 – Jamiec

+0

@Jamiec用CTRL + F5刷新,因为这个应该可以工作。 – malutki5200

+0

@ malutki5200在控制台它会。在网页上它不会。 – Jamiec