我已经阅读了这个问题,但有很多评论说有些人认为这是准确的,有些人说它不准确.
无论如何,我有这个代码,在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%正确吗?
我听说这DateTime.Now是非常昂贵的电话(从这里)
是GETDATE()在SQL 2005/2008贵吗?如果我的存储过程多次使用它,我是否要将其缓存到变量中?
我想在母亲节早上完成一个快速的"学习示范"计划.我已经为我的妈妈创建了一个文本框来输入我的生日礼物和一个标签,以显示我点击按钮时活着的年数,月数,天数和秒数.
以下是我被困的代码的一部分:
private void button1_Click(object sender, EventArgs e)
{
DateTime sonsBirthday = DateTime.Parse(txtSonsBirthday.Text).Date;
DateTime now = DateTime.Now;
TimeSpan timeSpan = now - sonsBirthday;
timeSpan = Convert.TimeSpan(lblTimeAlive); // blue squiggly under TimeSpan here
Run Code Online (Sandbox Code Playgroud)
正如我在代码中评论的那样,我TimeSpan在最后一行得到了一个蓝色波浪形; 但我不明白为什么.我究竟做错了什么?
我只是一名学生:所以我有了这个概念,但我不熟悉日期时间格式,需要一些帮助.
我创建了一个简单的年龄计算器.我想删除小数,但问题是,当我.减去now给bday.
例如:我输入2012,10而23现在的日期是2014-10-22,所以当2014.1022 - 2012.1023结果是1.9999...我想要删除所有小数位并保留整数时1,但是我使用String.Format("{0:00}"它的时间将结果四舍五入到02即使我使用时ConvertToInt32,我也不会我想使用拆分字符串,它需要很多代码.
有任何想法吗?
static void Main(string[] args)
{
string year, month, day = string.Empty;
Console.WriteLine("Enter your Birthdate:");
Console.WriteLine("Year :");
year = Console.ReadLine();
Console.WriteLine("Month :");
month = Console.ReadLine();
Console.WriteLine("Day :" );
day = Console.ReadLine();
try
{
DateTime date = Convert.ToDateTime(year + "-" + month + "-" + day);
var bday = float.Parse(date.ToString("yyyy.MMdd")); …Run Code Online (Sandbox Code Playgroud) 是否有任何内置函数如何以更好的方式获得日期时间对象之间的区别?我的意思是1个月,23天.我觉得很难计算,因为每个月的天数不同,闰年等等.谢谢
我有2个组合框和2个文本框.我的第一个组合框包含1月,2月等格式的月份,另一个组合框包含1到31的数字.我的第一个文本框是txtyear.一旦用户输入txtyear一个变量的出生年份BOD将等于此.
Dim BOD as string
BOD = cbomonth.text + "-" + cboday.text + "-" + txtyear.text
Run Code Online (Sandbox Code Playgroud)
我上一个文本框的目的是处理当光标失去焦点时将计算的用户的年龄txtyear.
任何人都可以帮助如何计算年龄.
以下代码给出了以下错误:
"未处理的异常:字符串未被识别为有效的DateTime.
从索引0开始有一个未知单词."
如何在此处将字符串正确转换为DateTime?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Exercise
{
class Program
{
static void Main(string[] args)
{
Console.Write("Enter your birthday in format(dd.mm.yyyy): ");
DateTime userBirthday = DateTime.Parse(Console.ReadLine());
long result = DateTime.Today.Subtract(userBirthday).Ticks;
Console.WriteLine("You are {0} years old.", new DateTime(result).Year - 1);
Console.WriteLine("After 10 years you will be {0} years old.", new DateTime(result).AddYears(10).Year - 1);
}
}
}
Run Code Online (Sandbox Code Playgroud) 因此,我使用了在此处不同用户提出的问题上找到的解决方案,链接:如何在 C# 中计算某人的年龄?,其中 DOB 是硬编码的,我添加了代码以从控制台接收用户输入,然后计算年龄,但是我不知道为什么 if 语句会产生正确的结果,没有它,它会计算您的年龄是那一年,而不是你的实际年龄。
var today = DateTime.Today;
Console.WriteLine("Type in your D.O.B in DD-MM-YYYY format:");
var Bday = Console.ReadLine();
var myDate = Convert.ToDateTime(Bday);
var age = today.Year - myDate.Year;
if (myDate.Date > today.AddYears(-age)) age--;
Console.WriteLine($"You are {age} years old");
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激!
c# ×7
datetime ×7
calculator ×2
.net ×1
asp.net ×1
decimal ×1
javascript ×1
math ×1
performance ×1
sql ×1
sql-server ×1
t-sql ×1
time ×1
vb.net ×1