2016-10-03 36 views
0

我想显示今天的日期以及字符串。例如,我想在一个字段中显示R_20160310。我使用下面的代码,当我将字符串值存储在作用域中时,我无法获取YYYYMMDD中的日期格式。以下是我的HTML和控制器中的代码。显示今天的日期以及字符串

HTML:

<tr> 
       <th><label>Review Title/Purpose*</label></th> 
       <td><input type="text" class="col-md-10" ng-model="today"></td> 
      </tr> 

控制器:

$scope.today= 'Review__' + new Date(); 

现在我得到的, “Review__Mon 2016年10月3日10时47分47秒GMT + 0800(马来半岛标准时间)”但我需要显示“Review_20160310”。有什么建议么?

+0

你在哪里*尝试*更改日期格式?它看起来像只输出默认格式的Date()。 – Claies

+1

[如何格式化JavaScript日期]可能的重复(http://stackoverflow.com/questions/3552461/how-to-format-a-javascript-date) – Cine

+0

@Claies我应该在哪里添加格式?我知道它采用默认格式。但我不知道在哪里包括格式。 –

回答

2

试试这个。

function x() { 
 
    var y = new Date(); 
 
    return 'Review_' + ((y.getFullYear() + ' ' + (y.getMonth() + 1) + ' ' + y.getDate()).replace(/ /g, '')); 
 
} 
 

 
console.log(x());

3

充分利用的角度是内置的date filter

$scope.today= 'Review__' + $filter('date')(new Date(), 'yyyyMMdd'[,timezone]) 
0

运行的日期通过辅助函数来分析它:

UPDATE CALL:

$scope.today= 'Review__' + dateConvert(new Date()); 

辅助函数:

function dateConvert(dateobj){ 
    var year = dateobj.getFullYear(); 
    var month= ("0" + (dateobj.getMonth()+1)).slice(-2); 
    var date = ("0" + dateobj.getDate()).slice(-2); 
    var hours = ("0" + dateobj.getHours()).slice(-2); 
    var minutes = ("0" + dateobj.getMinutes()).slice(-2); 
    var seconds = ("0" + dateobj.getSeconds()).slice(-2); 
    var day = dateobj.getDay(); 
    var months = ["01","02","03","04","05","06","07","08","09","10","11","12"]; 
    var converted_date = ""; 

    converted_date = year + month + date; 

    return converted_date; 

} 

https://jsfiddle.net/93ds6md0/