Convert DateTime to Date
-
Guffa, I understand that, storing a value as string cannot be displayed in any other formats unless until we parse it into some other formats. But that's the reason why I'm parsing it into DateTime format. see the code one again......
row["ADMISSION_DATE"] = DateTime.Parse(row["MM"].ToString() + "/" + row["DD"].ToString() + "/" + row["CC"].ToString() + row["YY"].ToString().ToString()) ;
The row["MM"].ToString is a String, but I'm finally parsing it into DateTime. And after execution I could see that the "ADMISSION_DATE" field type in DataSet changes to DateTime. So from this its clear that it's getting stored as DateTime and the field type is also DateTime. But the problem is to extract only the date thing, when I call the DataSet rows. Hope I dindn't confused you.
Yes, you are storing a DateTime value in the field, and the value has a time component that is zero. Then you read the field, convert the DateTime value to a DateTime value, and use the Date property to get a DateTime value where the time component is zero from the DateTime value where the time component already is zero. Then you convert the value into a string using a format that does not even include the time component that is zero. As the value that you finally store as a string in a field doesn't have any time information at all, the problem is not in the code that you have shown. As I said before, the only chance that this value is displayed with a time, is if it's once again parsed into a DateTime value and then formatted into a string with a different format.
Despite everything, the person most likely to be fooling you next is yourself.
-
In my DataSet, I have a field called "ADMISSION_DATE" in the format of DateTime, which upon displaying in my Report showz up as, lets say, "08-29-08 12:00:00". 3rd Line displays the Date (08-30-08) as required but 4th line displays it as DateTime (08-29-08 12:00:00). But I want only the date thing (i.e. 08-29-08). And in dataset I don't see any direct DATE conversion methods. Please help.
row["ADMISSION_DATE"] = DateTime.Parse(row["MM"].ToString() + "/" + row["DD"].ToString() + "/" + row["CC"].ToString() + row["YY"].ToString().ToString()) ;
DateTime newDT = new DateTime(); //Line-1
newDT = Convert.ToDateTime(row["ADMISSION_DATE"]).Date; //Line-2
MessageBox.Show(newDT.ToShortDateString()); //Line-3row["ADM_DATE"] = newDT.ToShortDateString(); //Line-4
Thanking you in anticipation.
-
you said Reports So if its just a question about displaying the data on the report , use string functions to eliminate the extra time .
Vikas Amin
My First Article on CP" Virtual Serail Port "[^]
Hi Vikas, if the task wud have been just to display the data on the report, thn it was easy. See here's just the gist, my database table has dates splitted in 4 columns like DD, MM, CC, YY. Then using DataSet I'm concatenating these fields. And I'm concatenating it, bcoz I want to display the records within a particular date range. And for tht date comparison thing, it has to be in the date format and not string format. And this comparison has to be done at the code level and not at the database level, since database doesnt have anything like a date field.
-
Hi Vikas, if the task wud have been just to display the data on the report, thn it was easy. See here's just the gist, my database table has dates splitted in 4 columns like DD, MM, CC, YY. Then using DataSet I'm concatenating these fields. And I'm concatenating it, bcoz I want to display the records within a particular date range. And for tht date comparison thing, it has to be in the date format and not string format. And this comparison has to be done at the code level and not at the database level, since database doesnt have anything like a date field.
can you try row["ADM_DATE"] = newDT.ToShortDateString().Remove(9)
Vikas Amin
My First Article on CP" Virtual Serial Port "[^]
modified on Thursday, July 24, 2008 5:33 PM
-
Hi Vikas, if the task wud have been just to display the data on the report, thn it was easy. See here's just the gist, my database table has dates splitted in 4 columns like DD, MM, CC, YY. Then using DataSet I'm concatenating these fields. And I'm concatenating it, bcoz I want to display the records within a particular date range. And for tht date comparison thing, it has to be in the date format and not string format. And this comparison has to be done at the code level and not at the database level, since database doesnt have anything like a date field.
Verghese wrote:
database table has dates splitted in 4 columns like DD, MM, CC, YY
Which is a very poor design.
Verghese wrote:
database doesnt have anything like a date field
What database doesn't have a DateTime type?
-
Verghese wrote:
database table has dates splitted in 4 columns like DD, MM, CC, YY
Which is a very poor design.
Verghese wrote:
database doesnt have anything like a date field
What database doesn't have a DateTime type?
-
can you try row["ADM_DATE"] = newDT.ToShortDateString().Remove(9)
Vikas Amin
My First Article on CP" Virtual Serial Port "[^]
modified on Thursday, July 24, 2008 5:33 PM
-
Dear........this is not my design, its the way how dates are always stored in AS400 Mainframe systems. I'm working on IBM iSeries Mainframe server. I have not much options on choosing the database. Did I cleared your doubt???
Had you said that first, you would have gotten more sympathy. :-D
-
Vikas, whn i try this line
row["ADM_DATE"] = newDT.ToShortDateString().Remove(9)
it's throwing up this error:
"No overload for method 'Remove' takes '1' arguments"
not sure why but you should use the String::Remove Method (Int32, Int32) http://msdn.microsoft.com/en-us/library/d8d7z2kk.aspx[^]
Vikas Amin
My First Article on CP" Virtual Serial Port "[^]
modified on Thursday, July 24, 2008 5:33 PM
-
Had you said that first, you would have gotten more sympathy. :-D