我有点像漫步者,但我会尽力保持清晰 -
我很无聊,所以我正在制作一个"shoutbox",我对一件事感到有些困惑.我希望得到一条消息输入的时间,我想确保我得到服务器时间,或者至少确保我没有得到用户的本地时间.我知道这没关系,因为除了我之外,任何人都不会使用这个东西,但我想要彻底.我环顾四周并测试了一些东西,我认为这样做的唯一方法就是获得自?/?/ 1970之后的毫秒或其他任何东西,因为对每个人来说都是一样的.
我这样做是这样的:
var time = new Date();
var time = time.getTime();
Run Code Online (Sandbox Code Playgroud)
这会返回一个数字1294862756114.
有没有办法转换1294862756114为更具可读性的日期,比如DD/MM/YYYY HH:MM:SS?
所以,基本上,我正在寻找JavaScript相当于PHP的date();功能.
我现在已经搜索了4个小时,并且没有找到解决方案来获取JavaScript中年,月和日的两个日期之间的差异,例如:2010年4月10日是3年,x个月和y天前.
有很多解决方案,但它们只提供日期或月份或年份的格式差异,或者它们不正确(意味着不处理一个月或闰年的实际天数等).这样做真的很难吗?
我看过:
在PHP中它很容易,但不幸的是我只能在该项目上使用客户端脚本.任何能够做到这一点的库或框架都可以.
以下是日期差异的预期输出列表:
//Expected output should be: "1 year, 5 months".
diffDate(new Date('2014-05-10'), new Date('2015-10-10'));
//Expected output should be: "1 year, 4 months, 29 days".
diffDate(new Date('2014-05-10'), new Date('2015-10-09'));
//Expected output should be: "1 year, 3 months, 30 days".
diffDate(new Date('2014-05-10'), new Date('2015-09-09'));
//Expected output should be: "9 months, 27 days".
diffDate(new Date('2014-05-10'), new Date('2015-03-09'));
//Expected output should be: "1 year, 9 months, 28 days".
diffDate(new Date('2014-05-10'), new Date('2016-03-09')); …Run Code Online (Sandbox Code Playgroud)