![](/img/trans.png)
[英]How to convert cell type number to string in XLSX? For Handling Date format
[英]Convert string with bad format to date type
我正在尝试将这种字符串转换为Typescript中的日期类型以进行排序:
31/10/2017 18:12:02
new Date()无法正常工作(我得到的日期无效),即使这样:
let date = moment(item1.sendedOn.toString()).format('DD/MM/YYYY h:mm:ss');
console.log(date.toString());
任何想法 ?
您可以将其转换为ISO格式,然后使用new Date()
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
更新 (如果您使用/
作为日期分隔符):
var dateStr = "2018-12-23 18:12:02".replace(/\\//g, "-").replace(" ", "T") + ".000Z"; console.log(new Date(dateStr).getTime());
新的Date()不起作用(我收到无效的日期)
也许您显示的字符串不是您遇到问题的实际字符串,或者隐藏字符(例如空格)。 正如您在此答案中包含的脚本中所看到的那样,当您的字符串(来自您的问题)传递给Date
构造函数时,不会引发异常/错误。
var result = new Date('2018-12-23 18:12:02'); console.log(result);
如果此脚本在您的浏览器上不起作用,则可能是浏览器特定的问题
您可以使用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 }]
我找到了moment.js的答案:
let date = moment(stringDate, 'DD/MM/YYYY h:mm:ss').format();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.