[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 298
  • Last Modified:

C++ time functions

I wrote a GUI application a long time ago using Borland Turbo C version 3. This ran happily on Win98SE and XP. With the jump to Windows 7, as it is a 16-bit application it will only run under XP mode (which it does).
I am now trying to bring it into the light so that it will run under w7 Ultimate (32-bit). To this end I have downloaded Microsoft Visual C++ 2010 Express. I have created a few console applications, but that isn't what I really want, so I have now converted it to a Win32 application.
The problem I now have is with the available time functions. All the functions I knew from UNIX and the Borland compiler seem to have disappeared. Some of the structures/variables still seem to be about, like time_t.
All I want to do is to be able to determine the difference in days between two dates. I have searched for this and have been reading a lot of posts in various places, but a lot still use the code that I recognise, like diffdate (or is it datediff)?. Either way I cannot access any such routine. The ctime.h header doesn't seem to exist under C++ 2010 (version 10.0).
I am finding the 'new' date routines very confusing to use, as every time I try something I get all kinds of errors about incompatible types.
Can someone point me in the right direction, preferably with example(s), so I can get on with converting the rest of the program - that needs the date difference to work?
0
norman1312
Asked:
norman1312
  • 4
  • 2
1 Solution
 
SStoryCommented:
Well, do you mean using managed code or unmanaged.
Managed in vb.net looks like this:

        Dim dt As New System.DateTime(2011, 9, 9, 8, 12, 0)
        Dim diff As System.TimeSpan = Now.Subtract(dt)

        MsgBox(diff.TotalSeconds)

This says, give me an object of DateTime, with date of Sept. 9, 2011 @ 8:12:00am.
Then it subtracts that from the current time and stores it in a TimeSpan variable.
From that you can get TotalSeconds, TotalMinutes, etc.

I C++, I'd imagine the DotNet objects are available in a similar fashion if you want to use managed code.
0
 
norman1312Author Commented:
I'm trying to stay away from managed code if I can avoid it.
I've seen the page from the second link and had been wondering just how to use them.
Sorry to be a pain, but how does System get defined in the headers of C++?
0
Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

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

 
SStoryCommented:
This may be useful:
Part I
http://ondotnet.com/pub/a/dotnet/2003/01/13/intromcpp.html

Part II
http://ondotnet.com/pub/a/dotnet/2003/03/03/mcppp2.html

I believe it is declared as follows--from the second article

     #using <mscorlib.dll>
     using namespace System;

In vb.net you do
imports System
imports SystemData
etc.

The above is similar...just the using keyword and namespace

Be advised that writing it with managed code means the platform you write to has to have the dotnet framework installed. With Windows 7, this comes installed anyway.

If you are looking for cross platform, you'd probably not want to do managed code. So there are some things to consider.

If you want access to a huge library of objects that just work and work well, the Dotnet Framework is very powerful.
0
 
norman1312Author Commented:
Looks like changing compilers that have developed means a LOT of reading first.
Thanks for all the help!
0
 
SStoryCommented:
Yes. Learning the dotnet framework can take some time. If you are only writing for Windows, then it will save you a lot of work. Of course there is Java for cross platform dev. Or unmanaged code in V C++

You are welcome.
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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