Solved

Convert a 'string' to full Date and Time

Posted on 2013-11-28
6
465 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
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

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

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Hot fix for .Net Crystal Reports 10.2.3600.0 to fix problems with sub reports running on 64 bit operating systems ISSUE: Reports which contain subreports fail with error "Missing Parameter Value" DEPLOYMENT SERVER OS: Windows 2008 with 64 bi…
Article by: Kraeven
Introduction Remote Share is a simple remote sharing tool, enabling you to see, add and remove remote or local shares. The application is written in VB.NET targeting the .NET framework 2.0. The source code and the compiled programs have been in…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Internet Business Fax to Email Made Easy - With eFax Corporate (http://www.enterprise.efax.com), you'll receive a dedicated online fax number, which is used the same way as a typical analog fax number. You'll receive secure faxes in your email, fr…

910 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

Need Help in Real-Time?

Connect with top rated Experts

21 Experts available now in Live!

Get 1:1 Help Now