如何解决尝试将日期字符串转换为毫秒时得到“ NaN”
试过这个:
1。
console.log('state after update: ',this.state.emailAddresses);
const today = new Date('28.08.2020');
const milliseconds = today.getTime();
const today = Date.parse("28.08.2020")
在尝试将日期字符串转换为毫秒时获取var today = new Date('28.08.2020');
var milliseconds = today.getMilliseconds();
解决方法
更好地将日期格式更改为YYYY-MM-DD
,如其他答案中所建议的
或者您可以执行类似的操作
var from = '28.08.2020'.split(".");
var today = new Date(from[2],from[1] - 1,from[0]);
const milliseconds = today.getTime();
console.log(milliseconds);
,
您使用了错误的格式。如果您从后端获取日期,则应进行转换。
const date = '28.08.2020';
const [day,month,year] = date.split('.');
const validDate = new Date();
validDate.setFullYear(year);
validDate.setDate(day);
validDate.setMonth(month);
// or just
const validDate2 = new Date(year,day);
const milliseconds = validDate.getTime();
const milliseconds2 = validDate2.getTime();
console.log(milliseconds)
console.log(milliseconds2)
转换后,您可以根据需要使用日期
,假设您不想手动解析字符串,则可以尝试使用moment
库,该库允许提供用于解析日期的自定义dateString模式,如下所示
const dateString = '28.08.2020';
const date = moment(dateString,"DD.MM.YYYY");
console.log("date",date); // displayed zulu time might be different than your local timezone
console.log("milliseconds",date.valueOf());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.27.0/moment.min.js"></script>
请注意,此刻将接受您当地时区中的日期,这可能会引起一些问题。如果要弥补它,您应该查找moment-timezone
库
哦,在这种情况下,您可以将输入方式更改为“ yyyy-mm-dd”,这是一种可能性吗?
const date = '28.08.2020';
let dateFromat = date.split('.');
dateFromat = `${dateFromat[2]}-${dateFromat[1]}-${dateFromat[0]}`;
const today = new Date(dateFromat);
const milliseconds = today.getTime();
输出:1598572800000
,约会格式错误。
新日期('2020-08-28')应该可以正常工作
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。