【问题标题】:Converting time string into Date object [duplicate]将时间字符串转换为日期对象[重复]
【发布时间】:2016-09-24 19:22:51
【问题描述】:

我正在使用时间选择器,它需要一个日期对象。从数据库中我得到一个时间字符串,如“17:00:00”。如何将“17:00:00”之类的时间字符串转换为日期对象?

编辑 我已经尝试过 Mike C, Alex K 建议的解决方案,但在那个问题中,他们正在将日期字符串转换为日期对象,当我尝试将时间字符串转换为日期时,我得到一个无效的日期错误。

【问题讨论】:

    标签: javascript


    【解决方案1】:

    var a = "17:00"
    var b = toDate(a,"h:m")
    alert(b);
    function toDate(dStr,format) {
    	var now = new Date();
    	if (format == "h:m") {
     		now.setHours(dStr.substr(0,dStr.indexOf(":")));
     		now.setMinutes(dStr.substr(dStr.indexOf(":")+1));
     		now.setSeconds(0);
     		return now;
    	}else 
    		return "Invalid Format";
    }

    【讨论】:

    • Kurenai 我不得不稍微调整一下你的答案以使其正常工作,但最后我不得不使用时刻。
    【解决方案2】:

    要处理日期,您可以编写自己的解析器或尝试已验证的库,如 http://momentjs.com(我建议这样做)。

    【讨论】:

    • 我正在尝试使用时刻来转换像那个时刻那样的日期(schedule.StartTime).format('hh:mm:ss');但我收到无效日期错误。
    • 因为你的字符串格式有点特殊,你必须指定解析规则,例如moment(schedule.StartTime, 'HH:mm:ss').format('HH:mm:ss'); 假设 schedule.StartTime ~ '17:00:00'
    • 这到底是怎么回事?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-13
    • 2011-10-25
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    相关资源
    最近更新 更多