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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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类型后和当前系统时间对比的结果打印出来。

参考技术A 直接通过以下工具方法实现即可,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;
参考技术B js中,利用Date.parseDate(dateValue) 方法来转换日期:
function parseDate(str)
if (typeof str == 'string')
var results = str.match(/^ *(\d4)-(\d1,2)-(\d1,2) *$/);
if (results && results.length > 3) return new Date(parseInt(results[1]), parseInt(results[2]) - 1, parseInt(results[3]));
results = str.match(/^ *(\d4)-(\d1,2)-(\d1,2) +(\d1,2):(\d1,2):(\d1,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(/^ *(\d4)-(\d1,2)-(\d1,2) +(\d1,2):(\d1,2):(\d1,2)\.(\d1,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类型。
参考技术C 1.var remindTime = "2008-04-02 10:08:44";
2.直接new Date(remindTime ) 即可。
参考技术D 如果只是单纯的比较时间,格式一样的可以直接用字符串比较,在js里面比较时间有点麻烦追问

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

以上是关于JS中如何将yyyy-MM-dd HH:mm:ss格式的字符串转成Date类型的主要内容,如果未能解决你的问题,请参考以下文章

my97时间控件如何去掉时分秒

js 如何将 Jul 01 2014 06:00:0转换成yyyy-MM-dd hh:mm:ss这种格式

js中怎么将yyyy-MM-dd hh:mm:ss格式的转换为date类型

如何快速转换日期 yyyy-mm-dd'T'HH:mm:ss.SSSZ [重复]

如何快速将 yyyy-MM-dd'T'HH:mm:ss.SSS'Z' 转换为 MM-dd-yyyy

如何在进行选择查询时将 YYYY-MM-DD HH:mm:ss 中的时间戳转换为 Hive 中的 YYYY-MM-DD HH:mm:ss.SSS?