How to make formatException gone in Datetime [duplicate] - c#

This question already has answers here:
Convert string to DateTime in c#
(3 answers)
DateTime.Parse throw exception in C#
(1 answer)
DateTime.Parse throwing format exception
(3 answers)
Closed 2 years ago.
Hi I just want to know how to make formatException gone when I'm inserting Datetime.
coding is in down below:
DateTime dob = Convert.ToDateTime(z);
dob.ToString("yyMMdd");
DateTime today = DateTime.Today;
today.ToString("yyMMdd");
var year = today.Year - dob.Year;
age = Convert.ToString(year);
return a;

Try use DateTime.TryParse or DateTime.TryParseExact to check your datetime string and store to your variable after parse at the same time

Use the DateTime.ParseExact() method to convert your date string z to a DateTime value -
var z = "23/09/2020";
DateTime dob = DateTime.ParseExact(z, "dd/MM/yyyy", null);
As you can see, you have to pass the date format you are trying to convert to the second parameter of the ParseExact() method as a string;

Related

How can i convert a string to date time in c#? [duplicate]

This question already has answers here:
Converting a String to DateTime
(17 answers)
Closed 1 year ago.
I have a string returned from an api call .
The string is : 11/25/2021 05:20:21
Now that is a mm/dd/yyyy hh:mm:ss
I want to compare it to the datetime 2021-11-25 05:03:17.667
I do the following:
var dt1="11/25/2021 05:20:21";
var dt2= "2021-11-25 05:03:17.667"
DateTime date1 = Convert.ToDateTime(dt1);
DateTime date2 = Convert.ToDateTime(dt2);
int result = DateTime.Compare(date1, date2);
if (result < 0)
{
//d1 is earlier than d2.
}
but when i do the call DateTime date2 = Convert.ToDateTime(dt2); it gives an error , string is not in the correct format ?
You should probably use DateTime.ParseExact, which allows you to provide an excat format to parse your string.

checking is datetime value is actually todays date [duplicate]

This question already has answers here:
How to check if a DateTime occurs today?
(12 answers)
Closed 6 years ago.
I have datetime value represented in string format like
2017-02-14 10:02
how can I check after parsing is this time is todays date?
Compare Dates only:
DateTime mydate = DateTime.Parse(...);
if (DateTime.Today == mydate.Date) {
// If parsed date (mydate) has Today's Date
...
}
Please, notice that (DateTime.Today == mydate) takes mydates time part into account and that's why will return false
You could do the following:
DateTime dt_someDate;
string s_dateString = "YYYY-MM-DD HH:mm";
if(DateTime.TryParse(s_dateString, out dt_someDate))
{
if(DateTime.Today.Date == dt_someDate.Date)
{
//the date is today;
}
}
You could also do the reverse operation - parse current date to the same format and compare the strings, but it's preferable to use the DateTime objects, in my opinion.

Convert Int to Time like 123430 to 12:34:30 [duplicate]

This question already has answers here:
Parsing Integer Value As Datetime
(5 answers)
Closed 6 years ago.
I would like to Convert Int to Time like 123430 to 12:34:30 in c#. Below code didnt work
DateTime dateTime = DateTime.ParseExact(timeint.ToString(), "HH:mm:ss",
CultureInfo.InvariantCulture);
The format string is the format that the inputted string is in. For example in your case HHmmss, just remove the colons and you should be fine.
Like:
DateTime dateTime = DateTime.ParseExact(timeint.ToString(), "HHmmss",
CultureInfo.InvariantCulture);

String format with c# [duplicate]

This question already has answers here:
Converting dd/mm/yyyy formatted string to Datetime [duplicate]
(3 answers)
Closed 7 years ago.
I have this string value
var d = "2016-01-07 09"
It's a string that contains a date with hour without minutes, seconds and millis.
I want to trasform into Datetime with this format
2016-01-07 09:00:00:000
I know that it sounds stupid but this stuff makes me crazy.
Thanks for support.
You have a Date with format Year - Month - Day Hour (yyyy-MM-dd HH).
You can use DateTime ParseExact method . If you know your dates format. You can parse it .
Check dateformats on this link
string d= "2016-01-08 03";
var c = DateTime.ParseExact(d, "yyyy-MM-dd HH", CultureInfo.InvariantCulture);
return c;

Convert string to datetime now format [duplicate]

This question already has answers here:
Parse string to DateTime in C#
(9 answers)
Closed 8 years ago.
How I can convert string 23:59 to datetime format?
So that I can reduce the current time in it.
Example:
String = 23:59 minus
Datime.Now = 13.8.2014 10:59:55
Time left 12 hours 0 minutes.
i would use ParseExact
TimeSpan tsDifference = DateTime.ParseExact("23:59", "HH:mm", System.Globalization.CultureInfo.InvariantCulture) - DateTime.Now;
use this :
DateTime date = Convert.ToDateTime(string);
System.TimeSpan diff= DateTime.Now.Subtract(date);
diff will contain your deffernce

Categories

Resources