Click here to Skip to main content
15,858,479 members
Articles / Programming Languages / Objective C

Date-Time Conversion Utility

Rate me:
Please Sign up or sign in to vote.
4.57/5 (14 votes)
21 Sep 20012 min read 231.7K   3.1K   40   23
A simple app that converts to and between time_t, DATE, and regular date string expressions

Sample Image

Introduction

Lately, I've had to do a lot of work with CTime and COleDateTime object variables. They're pretty nice classes to work with but not when you're debugging and need to know their actual date-time values. The CTime class stores its value in a time_t member variable and COleDateTime uses the DATE type to keep its value. Unfortunately, when we need to know what they mean in human-readable format, such as 11/03/1999 14:08:56, it's not possible without explicitly writing some code to format them into a string. Well, I got tired of writing such code so instead I wrote a little application where I could input the value I need to figure out and then have it converted at the click of a button. The application is called DTConverter and it's a simple MFC dialog-based application that allows you to convert to and from a time_t, a DATE, or a regular string in %m/%d/%Y %H:%M:%S format.

I hope it makes debugging your date-time objects less painful. Enjoy it!

Update by Geert Delmeiren

I use COleDateTimeSpan variables. These are also non-human readable, so I extended the utility for converting COleDateTimeSpans also.

For converting a variable, a couple of mouse clicks are needed:

  1. Ctrl-C to copy the variable's value
  2. Click on the utility's session in the task bar
  3. Click in the edit field you want to paste
  4. Ctrl-V to paste the value
  5. Click on the <convert> button to convert the value

That could be quicker! So I extended the utility with (configurable) auto-paste/auto-convert functionality. In the fully automatic mode steps 3) to 5) are obsolete. You just copy the value and activate the utility and... there's the result!

Another small change: The human readable date/time string now uses the format specified in the regional settings.

History

  • 22nd September, 2001 - Added 'Always on Top' and disabling GUI logic to the dialogs

License

This article has no explicit license attached to it, but may contain usage terms in the article text or the download files themselves. If in doubt, please contact the author via the discussion board below.

A list of licenses authors might use can be found here.


Written By
Web Developer
United States United States
I've done extensive work with C++, MFC, COM, and ATL on the Windows side. On the Web side, I've worked with VB, ASP, JavaScript, and COM+. I've also been involved with server-side Java, which includes JSP, Servlets, and EJB, and more recently with ASP.NET/C#.

Comments and Discussions

 
QuestionGreat article Pin
Michael Haephrati13-Jul-14 10:05
professionalMichael Haephrati13-Jul-14 10:05 
QuestionHow to find 3rd friday date in every month in every year Pin
tns_ranjith26-Mar-08 19:24
tns_ranjith26-Mar-08 19:24 
Generalits good stuff Pin
sri sankaradoss20-Jun-07 9:19
sri sankaradoss20-Jun-07 9:19 
GeneralNice demo Pin
tommyplus225-Oct-06 17:51
tommyplus225-Oct-06 17:51 
GeneralConvert CString to CTime / COleDateTime Pin
P-Rex14-Jun-05 4:36
P-Rex14-Jun-05 4:36 
GeneralRe: Convert CString to CTime / COleDateTime Pin
Alvaro Mendez15-Jun-05 14:35
Alvaro Mendez15-Jun-05 14:35 
If you know the format the string is in, I believe you can use the Parse function of those classes.

Regards,
Alvaro


Victory means exit strategy, and it's important for the President to explain to us what the exit strategy is. -- GWB, 1999.
GeneralRe: Convert CString to CTime / COleDateTime Pin
Wietsie28-Jun-05 7:59
sussWietsie28-Jun-05 7:59 
GeneralRe: Convert CString to CTime / COleDateTime Pin
Anonymous28-Jun-05 7:52
Anonymous28-Jun-05 7:52 
QuestionRe: Convert CString to CTime / COleDateTime Pin
David Crow4-Aug-06 4:23
David Crow4-Aug-06 4:23 
GeneralyGood job! Pin
Anonymous10-Mar-05 10:03
Anonymous10-Mar-05 10:03 
QuestionCDate function in C#??? Pin
Qamarwis19-Jan-04 9:19
Qamarwis19-Jan-04 9:19 
AnswerRe: CDate function in C#??? Pin
Alvaro Mendez19-Jan-04 10:06
Alvaro Mendez19-Jan-04 10:06 
GeneralDATE problem Pin
anirban maiti4-Jun-03 20:55
anirban maiti4-Jun-03 20:55 
GeneralCString to DateTime Pin
Komtiki11-Apr-02 7:38
Komtiki11-Apr-02 7:38 
GeneralRe: CString to DateTime Pin
KarstenK29-Apr-02 3:09
mveKarstenK29-Apr-02 3:09 
GeneralRe: CString to DateTime Pin
Komtiki29-Apr-02 18:27
Komtiki29-Apr-02 18:27 
GeneralRe: CString to DateTime Pin
Vandana G25-Jul-02 13:16
sussVandana G25-Jul-02 13:16 
GeneralRe: CString to DateTime Pin
Vandana G25-Jul-02 13:17
sussVandana G25-Jul-02 13:17 
GeneralRe: CString to DateTime Pin
Gordon D.Marcus15-Apr-03 20:46
Gordon D.Marcus15-Apr-03 20:46 
GeneralAlternative method Pin
24-Sep-01 16:33
suss24-Sep-01 16:33 
GeneralRe: Alternative method Pin
Marcello4-Mar-02 19:26
Marcello4-Mar-02 19:26 
GeneralRe: Alternative method Pin
mwilliamson4-Aug-03 16:36
mwilliamson4-Aug-03 16:36 
GeneralCOleDateTimeSpan flaw Pin
14-Aug-01 4:23
suss14-Aug-01 4:23 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.