• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 297
  • Last Modified:

i cannot display only date : "01/01/2008", this date is always accompanied with hours: "01/01/2008 00:00:00", how to correct?

hello,

i have a datatable with a columns which is set as a datetime,
i've been trying to display only the date without hours, minutes and seconds,

i've try several Datetime members in order to change the display without success,
how can i get rid of the hours?
datatable:      
myDt.Columns.Add("a_date", typeof(DateTime));
html :
<td class="td_125"><%# DataBinder.Eval(Container.DataItem, "a_date") %></td>
filling the datatable:
//_aRow["a_date"]    = (container.Status.NextDateFullFill().ToShortTimeString()).Split(' ')[0]; 
_aRow["a_date"]    = ((DateTime)container.Status.NextDateFullFill()).ToShortDateString(); //.Substring(0, 10); 
                      ....
how to get rid of those chars, 
i need to filter through this column, i think i need it typed as a datatable, 
thank you for your help,

Open in new window

0
toshi_
Asked:
toshi_
  • 4
  • 3
  • 2
  • +2
3 Solutions
 
ccnsCommented:
Hi there have a look at this link may anser your Q:
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=2674122&SiteID=1
0
 
Jaime OlivaresSoftware ArchitectCommented:
you should use:
_aRow["a_date"].Value    = (DateTime)container.Status.NextDateFullFill();

if you want to ensure to store only date:

_aRow["a_date"].Value    = ((DateTime)container.Status.NextDateFullFill()).Date;

the date always will be stored with time, there is no way to store just date, but the last choice will store the date with time 00:00

Further, when displaying, you can show a datetime as:

DateTime dt = ......; // from somewhere
string toShow = dt.ToShortDateString();
0
 
toshi_Author Commented:
it's exactly what i'm doing,
i'm casting to dateTime, then using the toshortdatestring(),

in my case this is not working, the display put the hours to 00:00:00 is all i could change with the solution
you linked me to.
......
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
toshi_Author Commented:
and that's the same i'm stack with
0
 
Jaime OlivaresSoftware ArchitectCommented:
ToShortDateString() cannot show 00:00:00
Maybe you have a compile refresh problem.
0
 
toshi_Author Commented:
indeed ToShortDateString() wouldn't display the "00:00:00"
but only if the columnType is string,  i wanted it on dateTime for sorting,  and with dateTime  for the column i always have the date with the time.

my last choice is to show only date created by numbers in order to sort the datatable correctly on date.


0
 
Jaime OlivaresSoftware ArchitectCommented:
it is not easy to help you because you are not being specific.
Are you using a datagrid? a textbox binded to a datetime field?
In every case, you can have set some Format property to show just date
0
 
Anurag ThakurTechnical ManagerCommented:
try this

<td class="td_125">
         <%# Eval(Convert.ToDateTime("a_date").ToString("dd-MM-yyyy")) %>
</td>
0
 
carlsiyCommented:
if its data in a datatable.. you must first decare the data type as System.DateTime
0
 
toshi_Author Commented:
carlsiy,  is what i did, in my datatable the column is declared as a datetime.

ragi0017,  i did not know i could do this,  but i think that the value to convert should be a string, am i right?

jaime olivares, i'm imrpoving my questioning skills, sorry for the lack of informations,  


all info:
my datatable column is declared as datetime,
i'm filling my columns with a dateTime value,
....
0
 
Anurag ThakurTechnical ManagerCommented:
it should work - may be a little tweak but try it out and if its still an issue let me know i will be happy to help out
0
 
carlsiyCommented:
Try this, just a mini sample

            ///datatable
            DataTable dt = new DataTable();
            ///column creation
            DataColumn column;
            column = new DataColumn();
           
           
            ///This one is wrong
            ///although you can use this if the value to be passed is
            ///e.g. xx.ToShortDateString();
            //column.DataType = System.Type.GetType("System.String");
           
            ///This on is correct
            column.DataType = System.Type.GetType("System.DateTime");

            column.ColumnName = "Sample_date";
            column.ReadOnly = true;
            column.Unique = false;
            dt.Columns.Add(column);
           
            ///date value
            DateTime xx = new DateTime();
            xx= DateTime.Today;

            ///datarow passed value
            DataRow dr;
            dr = dt.NewRow();
            dr["Sample_date"] = xx.ToShortDateString();
            dt.Rows.Add(dr);

            ///binding
            dataGrid1.DataSource = dt;
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 4
  • 3
  • 2
  • +2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now