如何将字符串转换为JavaScript日期对象?
var st = "date in some format"
var dt = new Date();
var dt_st = // st in Date format, same as dt.
如何将字符串转换为JavaScript日期对象?
var st = "date in some format"
var dt = new Date();
var dt_st = // st in Date format, same as dt.
当前回答
使用此格式....
//get current date in javascript
var currentDate = new Date();
// for getting a date from a textbox as string format
var newDate=document.getElementById("<%=textBox1.ClientID%>").value;
// convert this date to date time
var MyDate = new Date(newDate);
其他回答
如果在转换为Date格式之前需要检查字符串的内容:
// Convert 'M/D/YY' to Date()
mdyToDate = function(mdy) {
var d = mdy.split(/[\/\-\.]/, 3);
if (d.length != 3) return null;
// Check if date is valid
var mon = parseInt(d[0]),
day = parseInt(d[1]),
year= parseInt(d[2]);
if (d[2].length == 2) year += 2000;
if (day <= 31 && mon <= 12 && year >= 2015)
return new Date(year, mon - 1, day);
return null;
}
建议:我建议使用包含很多格式的日期包,因为时区和格式时间管理确实是一个大问题,moment js解决了很多格式。你可以很容易地从一个简单的字符串解析日期,但我认为这是一个艰苦的工作,以支持所有格式和日期的变化。
更新:Moment现在已弃用,一个很好的Moment的替代品是datefns https://date-fns.org/
moment.js (http://momentjs.com/)是一个完整和良好的使用日期包,支持ISO 8601字符串。
您可以添加字符串日期和格式。
moment("12-25-1995", "MM-DD-YYYY");
你可以检查一个日期是否有效。
moment("not a real date").isValid(); //Returns false
一些显示示例
let dt = moment("02-01-2019", "MM-DD-YYYY");
console.log(dt.fromNow()+' |'+dt.format('LL'))
// output: "3 months ago | February 1, 2019"
看文档 http://momentjs.com/docs/#/parsing/string-format/
使用此格式....
//get current date in javascript
var currentDate = new Date();
// for getting a date from a textbox as string format
var newDate=document.getElementById("<%=textBox1.ClientID%>").value;
// convert this date to date time
var MyDate = new Date(newDate);
作为这里所解释的内容的一个插件,您可以使用new Date()创建日期,并使用非常有用的toLocaleDateString()函数对其进行格式化
一个例子:
console.log(new Date('1970-01-01').toLocaleDateString('es-ES')) //——>输出'1/1/1970'
我已经为此创建了一个小提琴,你可以在任何日期字符串上使用toDate()函数并提供日期格式。这将返回一个Date对象。 https://jsfiddle.net/Sushil231088/q56yd0rp/
"17/9/2014".toDate("dd/MM/yyyy", "/")