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

Time Value difference in HTML Table

I have an HTML table that I have created inside a crystal report so that I can place it inside an email.  One of the columns contains a formula that calculates the difference between CurrentDateTime and the timestamp field of the record being returned from the database. In order to display the field properly in the HTML table I had to do the following ToText() function, however instead of showing just 47min or even 00h 47min, it shows as 12h 47min.  Of course, if the time difference is greater than 1 hour it properly shows as 1h 47min.

How can I remove the "12h" from being displayed when the time difference is less than 1 hour?


Crystal formula for time difference {@Pending Time}:
Time ((DateDiff ('n', {proposal.timestamp}, CurrentDateTime) / 60) / 24)

//DateDiff("n",{proposal.timestamp},CurrentdateTime)


HTML Code:
WhilePrintingRecords;
Stringvar HTML_Table;
HTML_Table:=HTML_Table+
"<tr>"+

//Here we add the Time column
"<td><div align=""center"">"+
ToText({@Pending Time},"hh'h' mm'min'")+
//Mid (ToText({@Pending Time}),1 ,5 )+
"</div></td>"+

"</tr>"
0
IO_Dork
Asked:
IO_Dork
  • 2
  • 2
  • 2
  • +1
3 Solutions
 
Ido MilletProfessor of MIS at Penn State Erie and Owner, Millet SoftwareCommented:
NumberVar MyMinutes := DateDiff ('n', {proposal.timestamp}, CurrentDateTime) ;

IF MyMinutes < 60 Then
Totext ( Truncate (MyMinutes),'00') & 'm'
ELSE
Totext ( Truncate ( MyMinutes / 60), '####') + 'h '+
Totext ( Truncate (Remainder ( MyMinutes,60)),'00') & 'm' ;
0
 
mlmccCommented:
You could also try capitalizing the 'hh' in the ToText formatting.

mlmcc
0
 
James0628Commented:
mlmcc's suggestion should work.  HH is the 24 hour time format.  Or you could use H if you don't want the leading 0 (eg. 0 or 3 instead of 00 or 03).

 If you'd like to leave off the hours when it's less than 1 hour, Ido's suggestion would probably work (I haven't tried it).  Another method would be something like this:

//Here we add the Time column
"<td><div align=""center"">"+
(
if {@Pending Time} < Time (1, 0, 0) then
  ToText({@Pending Time},"mm'min'")
else
ToText({@Pending Time},"HH'h' mm'min'")
) +
//Mid (ToText({@Pending Time}),1 ,5 )+
< rest of your formula >

 James
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!

 
IO_DorkAuthor Commented:
What is proper etiquette or rules when awarding points?  James's solution was the one I used b/c it was easier for me to implement with no additional configuration to the report. Ido's I am sure works, but due to how my report is structured, other report formulas and select statements that point to {@Pending Time} were throwing errors and I did not feel the need to try and workout the errors the report was throwing.  Should I award all points to James, or most to James and some to Ido?

Thanks
0
 
James0628Commented:
FWIW, mlmcc's suggestion also works, at least partially, in that it would give you "00h 47min", instead of "12h 47min".  00h may not have been your first choice, but your post did sort of imply that that was acceptable (as an alternative to 12h).

 Anyway, I'm not sure what would be "proper", but, FWIW, I do think that Ido deserves some points, and maybe mlmcc too.  And I have no problem with you splitting the points, however you see fit.

 James
0
 
mlmccCommented:
There is no defined etiquette as such.

You are free to award the points as you see fit.  It is customary when presented with several viable solutions to split the points in some way.  You can provide Expert A (solution used) the BEST ANSWER and say 400 of the 500 points.  Expert B gets 100 for providing a viable solution even if you never really pursued that path.

In some cases a solution may be viable but doesn't fit your criteria as spelled out in the question.   In that case you could state that and not award any points or again provide a small portion to acknowledge the correctness of the solution.

EE is about solutions and answers to issues not effort so to simply award points to all participants would not be appropriate.

mlmcc
0
 
IO_DorkAuthor Commented:
thanks for the clarification.
0

Featured Post

Industry Leaders: 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!

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