根据个人密码计算年龄

喜玛星

成员
已加入
2019年3月16日
留言内容
10
编程经验
Beginner
如何从个人密码计算年龄?
如果我必须输入
字符串Pers_Code;
例如我的是040498-#####
我如何年龄和生日?
 
Last edited:

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,567
地点
悉尼,澳大利亚
编程经验
10+
我建议魔术会是个不错的选择。严重的是,您的问题几乎没有任何意义。您指定的代码中没有任何固有内容可以提供所需的信息。也许您的意思是您有一个包含该信息的数据库,但是,如果是这样,那应该是您应该说的。我们不应该猜测那种事情。
 

喜玛星

成员
已加入
2019年3月16日
留言内容
10
编程经验
Beginner
字符串Pers_Code;
Console.Write("输入个人密码");
Pers_Code = Console.ReadLine();
可以说我输入了-040498-12236
我以某种方式从今天开始获得日期29/03/2019
从人的代码你可以看到即时通讯04/04/1998
2019-1998 = 20
它应该输出
Console.WriteLine(Age)在这种情况下为20
我的生日是4月4日(即4月4日)
但我不知道如何从字符串中获取98,可能是以某种数组方式
我不知道...我需要帮助!
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,567
地点
悉尼,澳大利亚
编程经验
10+
The DateTime.ParseExact or DateTime.TryParseExact method will allow you to convert that String to a DateTime value, so you can do actual time-based calculations with it and DateTime.Today.
 

喜玛星

成员
已加入
2019年3月16日
留言内容
10
编程经验
Beginner
你能写出确切的代码吗?

Console.Write("输入个人密码");
Pers_Code = Console.ReadLine(); // 040498-45266
DateTime.ParseExact(???)
 

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,567
地点
悉尼,澳大利亚
编程经验
10+
我可以,但是我们甚至都不知道我需要这样做。您甚至还没有尝试过,所以您没有失败。您可以做一些研究,自己找出问题。首先,请阅读我提到的那些方法的文档。 VS有一个“帮助”菜单,并支持您无需使用的标准上下文相关帮助(F1键),您还可以在网上搜索并找到相同的文档以及更多内容。不要只是坐在你的手上。首先,尽自己所能,然后在实际遇到困难时寻求帮助。如果发生这种情况,我们仍然会在这里。
 

喜玛星

成员
已加入
2019年3月16日
留言内容
10
编程经验
Beginner
我想出了这个,如果我输入040498,它就可以工作(但是也显示时间),如果040498-12236(我应该如何输入),它会崩溃

string Pers_kods;
Console.WriteLine(date);
Console.Write("Personas kodu: ");
Pers_kods = Console.ReadLine();
Console.Write($"角色人物:{Pers_kods}");
DateTime dt = DateTime.ParseExact(Pers_kods,"dMyy",System.Globalization.CultureInfo.InvariantCulture);
Console.WriteLine(dt);
Console.ReadLine();

我能不能说他只从字符串中读取前6个数字?
 
Last edited:

金西尼

C#论坛主持人
工作人员
已加入
2011年4月23日
留言内容
3,567
地点
悉尼,澳大利亚
编程经验
10+
首先,如果您专门以6位数字的字符串输入日期,那么为什么要使用4个字符的格式的字符串?其次,如果用户输入由破折号分隔的两部分代码,而您只想在破折号之前解析该部分,则只需获取该部分并将其传递给ParseExact。仅获取文本的一部分非常容易,而且很容易找到如何做到这一点。

As for the issue, as the name suggests, a DateTime contains a date and a time. Internally, it is just a number that is an offset from a specific moment in time. If you want to represent just a date with a DateTime value then you simply set the time part to zero, i.e. midnight. When it comes to displaying a DateTime value, it's completely up to you what the output looks like. It needs to be converted to a String for display purposes so, if you want a specific format, you should convert it to a String yourself and specify the format you want, rather than leaving the conversion up to the system and assuming that it will magically know what format you want of the many possible choices. Again, it's very easy to find out how to convert a DateTime to a String in a specific format, so I'll leave that part to you.
 
最佳 底部