我试图将这种字符串转换为Typescript中的日期类型以进行排序:
31/10/2017 18:12:02
新的Date()无效(我收到无效日期),即使是这样:
let date = moment(item1.sendedOn.toString()).format('DD/MM/YYYY h:mm:ss');
console.log(date.toString());
有什么想法吗?
答案 0 :(得分:2)
您可以将其转换为ISO格式,然后使用let str = "SERR PBQR PNZC";
let strArr = str.split("");
let alphabet = [];
let tempArr = [];
for (i = 65; i <= 90; i++){
alphabet.push(String.fromCharCode(i))
}
for (i = 0; i < strArr.length; i++) {
for (j = 0; j < alphabet.length; j++) {
if (strArr[i] === alphabet[j]) {
tempArr.push(alphabet[(j+13)%26]);
}
}
}
console.log(tempArr);
new Date()
&#13;
更新(如果您有var dateStr = "2018-12-23 18:12:02".replace(" ", "T") + ".000Z";
console.log(new Date(dateStr).getTime());
// Use sorting on this now as it is directly comparable
作为日期分隔符):
/
&#13;
答案 1 :(得分:0)
新的Date()无效(我收到无效日期)
也许您显示的字符串不是您遇到问题的实际字符串,或者有空格等隐藏字符。正如您在本答案中包含的脚本中所看到的那样,您的字符串(来自您的问题)在传递给Date
构造函数时不会抛出异常/错误。
var result = new Date('2018-12-23 18:12:02');
console.log(result);
&#13;
如果此脚本在您的浏览器上不起作用,则可能是浏览器特定的问题
答案 2 :(得分:0)
您可以使用momentjs来实现相同目标。
var date = moment("2018-12-23 18:12:02").format('DD-MM-YYYY');
console.log(date)
var dateObj = moment("2018-12-23 18:12:02").toDate();
console.log(dateObj)
<script type="text/javascript" src="http://momentjs.com/downloads/moment.min.js"></script>
如果你想将它与typescript和angular2
一起使用npm install moment --save
import * as moment from 'moment';
providers: [{ provide: 'moment', useValue: moment }]
答案 3 :(得分:0)
我用moment.js找到了答案:
let date = moment(stringDate, 'DD/MM/YYYY h:mm:ss').format();