js 如何把字符串转化为日期

   更新日期:2024.05.05

需要准备的材料分别有:电脑、html编辑器、浏览器。

1、首先,打开html编辑器,新建html文件,例如:index.html。

2、在index.html中的<script>标签,输入js代码:

var a = '2006-10-01 12:00:05';
var date = new Date(a.replace(/-/g, '/'));
document.body.innerText = date;

3、浏览器运行index.html页面,此时成功打印出了被转化为日期的数据。



var str = "2010-08-01";

// 转换日期格式

str = str.replace(/-/g, '/'); // "2010/08/01";

// 创建日期对象

var date = new Date(str);

// 加一天

date.setDate(date.getDate() + 1);

扩展资料:

反之,日期格式化为字符串

//完整的格式化  var time2 = new Date().format("yyyy-MM-dd hh:mm:ss");

Date.prototype.format = function (fmt) {

var o = {

"M+": this.getMonth() + 1,                 //月份 

"d+": this.getDate(),                    //日 

"h+": this.getHours(),                   //小时 

"m+": this.getMinutes(),                 //分 

"s+": this.getSeconds(),                 //秒 

"q+": Math.floor((this.getMonth() + 3) / 3), //季度 

"S": this.getMilliseconds()             //毫秒 

};

//处理年份

var reYear = /(y+)/; 

var resultYear = reYear.exec(fmt);

if (resultYear) 

{

var yearformatPart = resultYear[0];//匹配到的格式化字符

var yearVal = (this.getFullYear() + "").substr(4 - yearformatPart.length);

fmt = fmt.replace(yearformatPart, yearVal);

}

for (var k in o) {

var re = new RegExp("(" + k + ")");

var re = re.exec(fmt);

if (re) {

var Val = "" + o[k];//本次需要替换的数据 

var formatPart = re[0];//匹配到的格式化字符

var replaceVal = (formatPart.length == 1) ? (Val) : (("00" + Val).substr(Val.length));

fmt = fmt.replace(formatPart, replaceVal);

}

}

return fmt;

}



/*'yyyy-MM-dd HH:mm:ss'格式的字符串转日期*/
function stringToDate(str){
var tempStrs = str.split(" ");
var dateStrs = tempStrs[0].split("-");
var year = parseInt(dateStrs[0], 10);
var month = parseInt(dateStrs[1], 10) - 1;
var day = parseInt(dateStrs[2], 10);
var timeStrs = tempStrs[1].split(":");
var hour = parseInt(timeStrs [0], 10);
var minute = parseInt(timeStrs[1], 10);
var second = parseInt(timeStrs[2], 10);
var date = new Date(year, month, day, hour, minute, second);
return date;
}

调试好的代码如上。因为旧的采纳答案试过有错的,有两处地方要修改:

1)var timeStrs = tempStrs[1].split("-"), 自然是把"-"改为":"。

2)var minute = parseInt(timeStrs[1], 10) - 1;  分钟不需要减一了。



js 把字符串转化为日期参考代码如下:
var s ='2017-04-18 09:16:15';
s = s.replace(/-/g,"/");
var date = new Date(s );

解释说明:
/-/g 是正则表达式
表示将所有短横线-替换为斜杠/
其中g表示全局替换

var str ='2012-08-12 23:13:15';
str = str.replace(/-/g,"/");
var date = new Date(str );

相关链接

欢迎反馈与建议,请联系电邮
2024 © 视觉网