JS中如何将yyyy-MM-dd HH:mm:ss格式的字符串转成Date类型

我用My97DatePicker

<input class="Wdate"type="text" id="times" onblur="timeblur()"onclick="WdatePicker({dateFmt:'yyyy-MM-dd HH:mm:ss'})"/>

在JS中要实现 判断上面所选的时间要大于当前系统时间

应该是要用DateTime.Compare方法进行比较 吧

求大神帮忙写下JS如何实现上述要求 拜谢

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

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

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

var a = '2019-06-01 12:05:20';

var date = new Date(a.replace('-', '/'));

var now = new Date();

if (date.getTime() > now.getTime()) {

document.body.innerText = a + '大于当前系统时间';

} else {

document.body.innerText = a + '不大于当前系统时间';

}

3、浏览器运行index.html页面,此时会将yyyy-MM-dd HH:mm:ss格式的字符串转换为Date类型后和当前系统时间对比的结果打印出来。

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-09-26
直接通过以下工具方法实现即可,s就是要传入的日期,返回结果就是Date类型。

function StringToDate(s) {
alert("得到的日期字符串 : " + s);
alert(parseInt(s.substring(0,4),10));
alert(parseInt(s.substring(5,7)-1,10));
alert(parseInt(s.substring(8,10),10));
alert(parseInt(s.substring(11,13),10));
alert(parseInt(s.substring(14,16),10));
alert(parseInt(s.substring(17,19),10));

var d = new Date();
d.setYear(parseInt(s.substring(0,4),10));
d.setMonth(parseInt(s.substring(5,7)-1,10));
d.setDate(parseInt(s.substring(8,10),10));
d.setHours(parseInt(s.substring(11,13),10));
d.setMinutes(parseInt(s.substring(14,16),10));
d.setSeconds(parseInt(s.substring(17,19),10));

return d;
}
第2个回答  2015-08-02
js中,利用Date.parseDate(dateValue) 方法来转换日期:
function parseDate(str) {
if (typeof str == 'string') {
var results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) *$/);
if (results && results.length > 3) return new Date(parseInt(results[1]), parseInt(results[2]) - 1, parseInt(results[3]));
results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2}) *$/);
if (results && results.length > 6) return new Date(parseInt(results[1]), parseInt(results[2]) - 1, parseInt(results[3]), parseInt(results[4]), parseInt(results[5]), parseInt(results[6]));
results = str.match(/^ *(\d{4})-(\d{1,2})-(\d{1,2}) +(\d{1,2}):(\d{1,2}):(\d{1,2})\.(\d{1,9}) *$/);
if (results && results.length > 7) return new Date(parseInt(results[1]), parseInt(results[2]) - 1, parseInt(results[3]), parseInt(results[4]), parseInt(results[5]), parseInt(results[6]), parseInt(results[7]));
}
return null;
}
var d = Date.parseDate("2015-08-02 12:13:15");
document.write(d + "\n");

输出一个JavaScript的Date类型。
第3个回答  2015-07-07
1.var remindTime = "2008-04-02 10:08:44";
2.直接new Date(remindTime ) 即可。
第4个回答  2014-06-03
如果只是单纯的比较时间,格式一样的可以直接用字符串比较,在js里面比较时间有点麻烦追问

可以写下么 用String比较 当前时间也要转成String啊

相似回答