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