我想基于格式为YYYYMMDD和HHMMSS的字符串创建一个js日期对象。
function makeTimeStamp(myDate, MyTime){
// myDate format YYYYMMDD
// myTime format HHMMSS
var YYYY = myDate.substring(0, 3);
var MM = myDate.substring(4, 5);
var DD = myDate.substring(6,7);
var HH = myTime.substring(0,1);
var MM = myTime.substring(2,3);
var SS = myTime.substring(4,5);
jsDate =
}
答案 0 :(得分:0)
如果您打算为给定的年,月,日,小时,分钟和秒创建Date对象,则可以使用new Date(year, month - 1, day, hours, minutes, seconds)
为其创建Date实例。请注意,月份为0,1月份为0,2月1日等。因此MM-1;
function stringToDate(myDate, myTime){
// myDate format YYYYMMDD
// myTime format HHMMSS
var YYYY = myDate.substr(0, 4);
var MM = myDate.substr(4, 2);
var DD = myDate.substr(6, 2);
var HH = myTime.substr(0, 2);
var mm = myTime.substr(2, 2);
var SS = myTime.substr(4, 2);
var jsDate = new Date(YYYY, MM - 1, DD, HH, mm, SS);
return jsDate;
}
// returns a Date object for given date and time
var jsDate = stringToDate("20110818", "191500");
// returns 1313687700000
var timestamp = jsDate.getTime();
请注意,我正在使用string.substr(start_position, length)
,因为您可以轻松查看返回值的长度。
答案 1 :(得分:0)
您可以尝试Date.js这是一个日期库。 http://www.datejs.com/
答案 2 :(得分:0)
您可以非常轻松地将这些日期和时间格式转换为ISO格式(例如“2011-08-18T12:34:56
”),并使用正则表达式确保参数格式正确:
function makeTimestamp(myDate, myTime) {
var ds = myDate.match(/^(\d{4})(\d\d)(\d\d)$/)
, ts = myTime.match(/^(\d\d)(\d\d)(\d\d)$/);
if (!ds || !ts) { return null; }
return new Date(ds.slice(1,4).join("-") + "T" + ts.slice(1,4).join(":"));
}
var d = makeTimestamp('20110818', '123456');
d // => Fri Aug 19 2011 12:34:56 GMT-0400 (EDT)
答案 3 :(得分:0)
你可以试试这个:https://www.npmjs.com/package/timesolver
npm i timesolver
在您的代码中使用它:
const timeSolver = require('timeSolver');
const date = new Date();
const dateString = timeSolver.getString(date, 'YYYYMMDD HHMMSS');
`
您可以使用此方法获取日期字符串:
const dateString = timeSolver.getString(date, format);
希望这会对你有帮助!