Using C# CSOM and this is SharePoint 2010 - I am attempting to pull the vale of a Date And a time field to my Winform.

If I type in the immediate window listItem[“datetimefield”];

It will return {7/22/2018 3:22:00 AM} Date: Day: DayOfWeek: DayOfYear: Hour: Kind: Millisecond: Minute: Month: Seconds: Ticks: TimeOfDay: Year:

I want to pull the value from Date - what would be the syntax to do such?

If it helps this is full syntax I attempted to use. I can connect fine and pull values for other field types, just not a Date and Time field type.

Public static void GetDateTimeData()
  using (var ctx = new ClientContext(SPURL))
    List list = web.Lists.GetByTitle(SPSite);
    CamlQuery camlQuery = new CamlQuery();
    camlQuery.ViewXml= strong.Format();

    ListItemCollection items = list.GetItems(camlQuery);

    foreach (ListItem listItem in items)
        DateTime TargetSD = (dateTime)listItem["maindate"];
        string date = Convert.ToDateTime(listItem["maindate"].ToString();
  • Just stick it in a DateTime variable – Derek Gusoff May 7 '18 at 19:36
  • I tried and I was obviously doing it incorrectly as it would just launch my winform. I will show code I try when I get back to my PC – HotTomales May 7 '18 at 22:54

Per my test in my SharePoint 2013 environment, if I get the value from the date and time column in the item, I get the time as the picture below.

enter image description here

Then you could format the time according to the article below.

String Format for DateTime.

  • -> what syntax did you use to pull the date? I tried to use DateTime TargetSD = (dateTime)listItem["maindate"]; string date = Convert.ToDateTime(listItem["maindate"].ToString(); but the code above for me and SharePoint 2010 does not actually provide me with the value from the Date and Time field. And yes, I did verify that there actually is a date in the field. – HotTomales May 8 '18 at 12:08
  • I just use the code “Console.WriteLine(item["date1"]);”. – Amy_MSFT May 9 '18 at 1:27

The value is already DateTime. If that's what you want, casting will be enough:


But if you need as a formatted string, use the toString() method:

DateTime dateTimeValue = (DateTime)listItem["maindate"];
string formatedValue = dateTimeValue.ToString("dd/MM/yyyy");

You may look here if you want to customize the format:

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.