Solved

Convert a 'string' to full Date and Time

Posted on 2013-11-28
6
470 Views
Last Modified: 2013-11-28
I am working with Crystal reports 2011 and have a string, which is in the following format - '11/26/2013 7:15:11AM' which I want to convert to a DateTime holding the same format including the (AM/PM)
0
Comment
Question by:John-S Pretorius
  • 4
6 Comments
 
LVL 18

Accepted Solution

by:
vasto earned 250 total points
ID: 39683865
DateTimeValue({Table.Field})

if this doesn't work try to parse it like this:

DateTime({Table.Field})[7 to 10], {Table.Field})[1 to 2], {Table.Field})[4 to 5] ..... hour ... minute ... sec)
the second approach might be trivy because you may have 1 or 2 characters for month, day and hour . It might be better if you parse by "/" and ":" and combine the values using DateTime
0
 

Author Comment

by:John-S Pretorius
ID: 39683894
This looks good - can I ask if there is a way 'trap' (If statement) that would avoid 'Bad date-time format string' as the current string I'm trying to convert also has some values that cannot be converted to date and time.
0
 

Author Comment

by:John-S Pretorius
ID: 39683910
I found the statement that works : if isdate({table.field}) then DateTimeValue({Table.Field})

Thank you for your help.
0
Networking for the Cloud Era

Join Microsoft and Riverbed for a discussion and demonstration of enhancements to SteelConnect:
-One-click orchestration and cloud connectivity in Azure environments
-Tight integration of SD-WAN and WAN optimization capabilities
-Scalability and resiliency equal to a data center

 

Author Comment

by:John-S Pretorius
ID: 39683911
I've requested that this question be closed as follows:

Accepted answer: 0 points for johnsp1234's comment #a39683894

for the following reason:

I found the statement that works : if isdate({table.field}) then DateTimeValue({Table.Field})

Thank you for your help.
0
 

Author Closing Comment

by:John-S Pretorius
ID: 39683912
I found the statement that works : if isdate({table.field}) then DateTimeValue({Table.Field})

Thank you for your help.
0
 
LVL 100

Expert Comment

by:mlmcc
ID: 39683914
You can do 2 checks

First for NULL - no value then for IsDateTime

If IsNull({DateString}) then
    Date(1900,1,1)
Else If IsDateTime({DateString}) then
    cDateTime({DateString})
Else
    Date(1900,1,1)


If it doesn't like your date format then you will have to use the second version with a minor adjustment.  The values passed must be numbers not a number string

DateTime(Val({Table.Field})[7 to 10]), Val({Table.Field})[1 to 2]), Val({Table.Field})[4 to 5]) ..... hour ... minute ... sec)


mlmcc
0

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction When many people think of the WebBrowser (http://msdn.microsoft.com/en-us/library/2te2y1x6%28v=VS.85%29.aspx) control, they immediately think of a control which allows the viewing and navigation of web pages. While this is true, it's a…
It’s quite interesting for me as I worked with Excel using vb.net for some time. Here are some topics which I know want to share with others whom this might help. First of all if you are working with Excel then you need to Download the Following …
In an interesting question (https://www.experts-exchange.com/questions/29008360/) here at Experts Exchange, a member asked how to split a single image into multiple images. The primary usage for this is to place many photographs on a flatbed scanner…

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question