Cannot translate date in current locale [duplicate] - c#

This question already has answers here:
String was not recognized as a valid DateTime " format dd/MM/yyyy"
(13 answers)
Closed 5 years ago.
I'm trying to translate a Date in the current system language, this is my date: 2018/01/01, I tried to achieve my goal in this way:
var date = DateTime.ParseExact("2018/01/01", "dddd MMMM yyyy", new CultureInfo("it-IT")).ToString();
unfortunately I get:
System.ArgumentNullException
The InnerException say:
String not recognized as a valid DateTime value.
I used ParseExact to avoid this error, what I did wrong?

Use this code it will work.
var date = DateTime.ParseExact("2018/01/01", "yyyy/MM/dd", new CultureInfo("it-IT"));
I think you now know the error reason.
Thanks

Related

how to convert String 03/20/2019 10:46 to Date time in C#? [duplicate]

This question already has answers here:
DateTime.Parse throwing format exception
(3 answers)
Closed 3 years ago.
i have a string 03/20/2019 10:46 i want to convert to datetime 03/20/2019 10:46:00 AM
i have tried to use but failed as i am getting exception convert.todatetime("03/20/2019 10:46") but i am getting format exception.
new into development need help.really confused what need to be done. i have also saw other question regarding this topic on stckoverflow but failed i have also used
datetime.parse but still failed
You can use DateTime.ParseExact() method
var dt = DateTime.ParseExact("03/20/2019 10:46", "MM/dd/yyyy HH:mm", CultureInfo.InvariantCulture);
Output:
3/20/2019 10:46:00 AM
POC : .netFiddle
try this:
string dateTime = "03/20/2019 10:46";
DateTime parsedExactTime = DateTime.ParseExact(dateTime, "MM/dd/yyyy HH:mm", System.Globalization.CultureInfo.InvariantCulture);
It´s missing the AM/PM though...

Convert string in to DateTime [duplicate]

This question already has answers here:
Converting a String to DateTime
(17 answers)
Parse a string containing date and time in a custom format
(3 answers)
Closed 4 years ago.
I have a string: "20180830" which represents 30 august 2018
I want to go to string: "30/08/2018"
So that I can do: DateTime parsedDate = DateTime.Parse("30/08/2018"); and have a DateTime instead of a string,
Tried everything but didn't succeed.
Needs some help.
You can use the DateTime.ParseExact-Method to solve your problem. Therefore you need to specify the exact format which would be yyyyMMdd in your case. Also the documentation suggests to use CultureInfo.InvariantCulture.
The following code...
DateTime datetime = DateTime.ParseExact("20180830", "yyyyMMdd", CultureInfo.InvariantCulture);
...should do the trick ;-)

Parsing a integer using DateTime.ParseExact [duplicate]

This question already has answers here:
How do I convert an Excel serial date number to a .NET DateTime?
(4 answers)
Closed 4 years ago.
I am trying to parse a integer(like 43392) to a date time.
The code looks like this:
DateTime d = DateTime.ParseExact(item[11], "dd/MM/yyyy", CultureInfo.InvariantCulture);
wher item[11] is "43392".
This throws an System.FormatException error, string was not recognized as a valid Datetime.
Need some guidance on this.
This should work
DateTime dateTime = DateTime.FromOADate(43392);
Output
19/10/2018 12:00:00 AM
DateTime.FromOADate Method (Double)
Returns a DateTime equivalent to the specified OLE Automation Date.

C# How to convert date 25APR18 to 2018-04-26? [duplicate]

This question already has answers here:
.net: How to parse a date with this format: 08 Feb 2011 06:46
(3 answers)
Closed 4 years ago.
That question may be already been answered here, but I could not find any answers.
I'm trying to to convert the string 25APR18 to 2018-04-25.
I tried to do the following:
DateTime.ParseExact("25APR18", "yyyy-mm-dd", CultureInfo.InvariantCulture);
But it does not convert and gives me the error saying "String was not recognized as a valid DateTime."
I was not able to find the right solution.
Any suggestions?
You can use:
DateTime date = DateTime.ParseExact("25APR18", "ddMMMyy", CultureInfo.InvariantCulture);
The string format is case sensitive representing the input format you want to match. Lower case mm represents minutes but you need month abbreviated name MMM and that's one issue with the code you posted. Full list of format specifiers can be found here.
Once you have a DateTime object you can retrieve the date as string with new format:
string formattedDate = date.ToString("yyyy-MM-dd");
Which produces:
2018-04-25
Your date parse code should be
DateTime.ParseExact("25APR18", "ddMMMyy", CultureInfo.InvariantCulture);

Parse timestamp to get all values [duplicate]

This question already has answers here:
Creating DateTime object from string
(4 answers)
Closed 7 years ago.
I have a lot of data with timestamps in the following format: 20150603005845. I need to parse this and turn it into 2015/06/03 00:58:45 AM. I know I can convert it into a string and break it up and parse it the hard way but I was wondering if there are any inbuilt classes that can help me achieve this. I'm new to C# and don't know if there are any methods that can help me do this. Any help will be appreciated!
Parse date:
var date = DateTime.ParseExact("20150603005845", "yyyyMMddHHmmss", CultureInfo.InvariantCulture);
Format date:
string formattedDate = date.ToString("yyyy/MM/dd HH:mm:ss tt");

Categories

Resources