checking is datetime value is actually todays date [duplicate] - c#

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.

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.

How to make formatException gone in Datetime [duplicate]

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;

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;

Format String to specific datetime [duplicate]

This question already has answers here:
CONVERT MM/DD/YYYY HH:MI:SS AM/PM to DD/MM/YYYY in C#
(3 answers)
Closed 8 years ago.
I want to convert the string "2015/07/05" to the format 08-MAR-2015.
The code below keeps getting detected as an invalid datetime format (i.e the else statement below)
C# Code
string format = "dd-MMM-yyyy";
string dateString = "2015/07/05";
DateTime dateTime;
if (DateTime.TryParseExact(dateString, format, CultureInfo.InvariantCulture,DateTimeStyles.None, out dateTime))
{
MessageBox.Show(Convert.ToString(dateTime));
}
else // Invalid datetime format
{
MessageBox.Show("UBD date is not a valid date format: " + dateTime.ToString());
}
String formatting is performed by the String.Format method, not Convert.ToString. The Convert methods try to convert one type to another using the current culture's default format where required.
Try the following
String.Format(CultureInfo.InvariantCulture,"dd-MMM-yyyy",someDate);
This will ensure that the English month names will be used.
In non-English cultures the following line will return the local month name
String.Format("dd-MMM-yyyy",someDate);

Convert string(dd/MM/yyyy hh:mm) to datetime format [duplicate]

This question already has answers here:
Converting a String to DateTime
(17 answers)
Closed 8 years ago.
I have string with datetime format dd/MM/yyyy hh:mm.I want to calculate duration between two dates but failed to get datetime in correct format.please help.
thanks in advance
After parsing date string create two dates.
DateTime date1 = new DateTime();
DateTime date2 = new DateTime();
date1 = DateTime.Parse("22/05/2013 09:50:00");
date2 = DateTime.Parse("22/05/2014 09:50:00");
Then use TimeSpan structure to calculate interval:
TimeSpan ts_interval = date2 - date1;
You can use the following properties:
ts_interval.TotalSeconds;
ts_interval.TotalMinutes;
ts_interval.TotalHours;
For more visit http://msdn.microsoft.com/en-us/library/system.timespan_properties%28v=vs.110%29.aspx
you can use build in method
DateTime.Parse("12/05/1999 18:25");
you can also check this post

Categories

Resources