我今天正在查看一个在线游戏物理库,并遇到了~~运算符.我知道单个〜是一个按位NOT,是否会使~~不是NOT,它会返回相同的值,不是吗?
我现在已经搜索了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) 我想得到两个日期之间的年数.我可以得到这两天之间的天数,但是如果我将它除以365,结果是不正确的,因为有些年份有366天.
这是我获取日期差异的代码:
var birthday = value;//format 01/02/1900
var dateParts = birthday.split("/");
var checkindate = new Date(dateParts[2], dateParts[0] - 1, dateParts[1]);
var now = new Date();
var difference = now - checkindate;
var days = difference / (1000*60*60*24);
var thisyear = new Date().getFullYear();
var birthyear = dateParts[2];
var number_of_long_years = 0;
for(var y=birthyear; y <= thisyear; y++){
if( (y % 4 == 0 && y % 100 == 0) || y % 400 == 0 ) {
number_of_long_years++;
}
}
Run Code Online (Sandbox Code Playgroud)
日计数完美无缺.我正在尝试添加额外的日子,这是366天的一年,我正在做这样的事情: …
我想将所有用户的年龄显示为网格.我正在从facebook上阅读数据.我没有把它存放在任何地方.
我显示的日期如下:
{{ friend.birthday }}
Run Code Online (Sandbox Code Playgroud)
如何显示年龄而不是显示生日.
如果可以创建过滤器而不是如何创建过滤器以及如何应用它.
我正在对驾驶员的出生日期进行验证,它应该是当前日期的最低值18.
var Dates = $get('<%=ui_txtDOB.ClientID %>');
var Split = Dates.value.split("/");
if (parseInt(Split[2]) > 1993)
{
alert("DOB year should be less than 1993");
Dates.focus();
return false;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用上面的JavaScript验证来检查18岁以上的人的DOB,但这是不正确的.我需要查看今天的日期,它应该是18以上.我如何比较和检查当前日期?
我希望从用户日期生日那里显示几天,几个月和几年.
这是我的代码,从这里开始:用JavaScript计算年龄
如何继续月和日,如:
用户生日是:2010/04/29
结果应该是这样的:2年,4个月,5天.
function getAge(dateString) {
var today = new Date();
var birthDate = new Date(dateString);
var age = today.getFullYear() - birthDate.getFullYear();
var m = today.getMonth() - birthDate.getMonth();
if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
age--;
}
return age;
}
alert(getAge('2010/04/29'));
Run Code Online (Sandbox Code Playgroud)
我已经阅读了这个问题,但有很多评论说有些人认为这是准确的,有些人说它不准确.
无论如何,我有这个代码,在Javascript中计算人的年龄:
function calculateDiffYearByString(date)
{
var cur = new Date();
var diff = (cur.getTime() - new Date(date)) / (60 * 60 * 24 * 1000);
return diff / 365.242;
}
Run Code Online (Sandbox Code Playgroud)
现在,这部分var diff = (cur.getTime() - new Date(date)) / (60 * 60 * 24 * 1000); 确实考虑了从开始日期到结束日期的所有实际日期(24小时), 包括闰年考虑.
这只是24小时的团队计算天数.我的问题是关于/ 365.242;
当我问谷歌时,它说:

这就是我将其与365.242分开的原因.
但我觉得我错了.因为(恕我直言)该.242部分是关于闰年.所以我觉得我害怕闰年在整体计算中被考虑两次.
我错了吗?我的计算是100%正确吗?
我将我选择的日历传递date of birth给以下JS函数来计算Age:
var DOBmdy = date.split("-");
Bdate = new Date(DOBmdy[2],DOBmdy[0]-1,DOBmdy[1]);
BDateArr = (''+Bdate).split(' ');
//document.getElementById('DOW').value = BDateArr[0];
Cdate = new Date;
CDateArr = (''+Cdate).split(" ");
Age = CDateArr[3] - BDateArr[3];
Run Code Online (Sandbox Code Playgroud)
现在,让我们说,输入年龄是:2nd Aug 1983和年龄计数来:28,虽然8月没有通过,我想显示当前的年龄27而不是28
任何想法,我怎么能写出那个逻辑,用我的JS函数27 完美地计算年龄.
谢谢 !
我有2个文本框。一个文本框将接受用户的出生日期,并根据我想计算的出生日期并在另一个文本框中显示其年龄。
这是我的组件类
Student.component.html
<div class="row">
<div class="input-field col m2">
<input type="date" id="txtdate">
</div>
<div class="input-field col m4">
<input type="number" id="age">
</div>
Run Code Online (Sandbox Code Playgroud)
学生组件
import { Component, OnInit } from '@angular/core';
@Component( {
selector: 'stud',
templateUrl: './student.component.html'
})
export class StudentComponent implements OnInit
{
constructor() { }
ngOnInit() { }
}
function CalculateAge()
{
var birthdate = <HTMLElement>document.getElementById( "txtdate" );
var dt = new Date();
var today = dt.getDate();
}
Run Code Online (Sandbox Code Playgroud)
我如何从出生日期算起年龄?
javascript ×8
date ×2
datetime ×2
jquery ×2
angular ×1
angularjs ×1
asp.net ×1
datediff ×1
math ×1
typescript ×1