扫码关注官方订阅号
我使用
var time = new Date("17 五月 2017 14:01:59")
转化出错,但是使用
var time = new Date("2017-05-17 14:01:59")
转化成功。如果我必须使用下面的日期格式转化:
17 五月 2017 14:01:59
怎么处理?
闭关修行中......
const dateStr = '17 五月 2017 14:01:59' function convert2ISO8061 (dateStr) { const units = dateStr.split(' ') return units[2] + '-' + convertMonth(units[1]) + '-' + units[0] + 'T' + units[3] + 'Z' } function convertMonth (mStr) { const months = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'] const month = months.indexOf(mStr) + 1 if (month < 10) { return '0' + month } return parseInt(month) } console.log(Date.parse(convert2ISO8061(dateStr)))
先将 "17 五月 2017 14:01:59" 使用 split(' ') 转换为数组 arr。
"17 五月 2017 14:01:59"
split(' ')
再写一个函数将汉字 五月 转为数字形式,然后使用数组 arr 进行迭代重新组合成你所需要的日期格式即可。
五月
var time = new Date("17 May 2017 14:01:59"); 是 ok 的哦;so 题主你只需要将中文月份替换成英文缩写就 ok 了。
需要自己将五月这个重新一次,然后进行拼接
刚才理解错意思了,不过根据上面的思路这么写也可以
function converDate(date){ var arr=date.split(' '); var ENdate=['Jan', 'Feb', 'Mar', 'April', 'May', 'Jan', 'July', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']; var CNdate=['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']; var idx=CNdate.indexOf(arr[1]); arr[1]=ENdate[idx]; return new Date(arr.join(' ')); } converDate('17 五月 2017 14:01:59');
moment.js
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
先将
"17 五月 2017 14:01:59"使用split(' ')转换为数组 arr。再写一个函数将汉字
五月转为数字形式,然后使用数组 arr 进行迭代重新组合成你所需要的日期格式即可。var time = new Date("17 May 2017 14:01:59"); 是 ok 的哦;
so 题主你只需要将中文月份替换成英文缩写就 ok 了。
需要自己将五月这个重新一次,然后进行拼接
刚才理解错意思了,不过根据上面的思路这么写也可以
moment.js