JavaScript的等效的PHP的strtotime()?

在PHP中,您可以使用strtotime()方便地将英文文本date时间描述转换为适当的date。

有什么类似的Javascript?

我发现这篇文章,并尝试教程。 基本上,你可以使用date构造函数来parsing一个date,然后写getTime()方法得到秒

 var d=new Date("October 13, 1975 11:13:00"); document.write(d.getTime() + " milliseconds since 1970/01/01"); 

这是否工作?

是的。 它在所有主要的浏览器中都支持:

 var ts = Date.parse("date string"); 

唯一的区别是这个函数返回毫秒而不是秒,所以你需要将结果除以1000。

检查JavaScriptparsing的有效格式。

看看这个 PHP的strtotime()在JavaScript中的实现!

我发现它对PHP的所有操作都一样。

更新:根据版本1.0.2的这个函数不能处理这种情况:'2007:07:20 20:52:45'(注意:年份和月份的分隔符

我嫉妒strtotime()在PHP中,但我做我的JavaScript使用时刻。 不像从PHP那样甜蜜,但也巧妙地做到这一点。

 // first day of the month var firstDayThisMonth = moment(firstDayThisMonth).startOf('month').toDate(); 

endOf()startOf()subtract()add() startOf()

 // last day of previous month var yesterMonthLastDay = moment(yesterMonthLastDay).subtract(1,'months').endOf('month').toDate(); 

有几个模块提供了类似的行为,但不完全像PHP的strtotime。 在我发现的几个替代品中, date-util产生了最好的结果。

 var strdate = new Date('Tue Feb 07 2017 12:51:48 GMT+0200 (Türkiye Standart Saati)'); var date = moment(strdate).format('DD.MM.YYYY'); $("#result").text(date); //07.02.2017 
 <script src="jquery-1.9.1.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.js"></script> <div id="result"></div> 

浏览器对parsingstring的支持不一致 。 因为没有关于哪种格式应该被支持的规范,所以某些浏览器中的工作在其他浏览器中将不起作用。

试试Moment.js – 它为parsingdate提供了跨浏览器function:

 var timestamp = moment("2013-02-08 09:30:26.123"); console.log(timestamp.milliseconds()); // return timestamp in milliseconds console.log(timestamp.second()); // return timestamp in seconds