Solved

How to get in C++ this time format HH.MM.SS?

Posted on 2008-09-30
7
1,802 Views
Last Modified: 2012-06-27
Hello Experts,
how can i get this time format?
for ex. 17.22.34

i need a string as result
0
Comment
Question by:kagami01
  • 4
  • 2
7 Comments
 
LVL 53

Expert Comment

by:Infinity08
ID: 22606311
You can use strftime :

        http://www.cplusplus.com/reference/clibrary/ctime/strftime.html
time_t now = time(0);
char timestamp[10] = "";
strftime (timestamp, 10,"%H.%M.%S", localtime(&now));

Open in new window

0
 
LVL 14

Expert Comment

by:wayside
ID: 22606426
#include <sys/types.h>
#include <sys/timeb.h>

struct tm *current_time;

current_time = localtime(time());

char timebuf[20] = { 0 } ;

strftime(timebuf, 20, "%H.%M.%S", current_time);

0
 

Author Comment

by:kagami01
ID: 22606631
i can use even the results of strftime even with asctime??
0
Technology Partners: 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!

 
LVL 53

Expert Comment

by:Infinity08
ID: 22606977
>> i can use even the results of strftime even with asctime??

asctime is another (fixed) way of formatting a time into a string. strftime allows you to choose the format, so you'll need strftime as I showed.
0
 

Author Comment

by:kagami01
ID: 22607076
so how to convert the output of strftime in a string??
0
 
LVL 53

Accepted Solution

by:
Infinity08 earned 140 total points
ID: 22607111
>> so how to convert the output of strftime in a string??

strftime already places its output in a string. In my example, the string is called timestamp. You can output it by adding this for example :
time_t now = time(0);
char timestamp[10] = "";
strftime (timestamp, 10,"%H.%M.%S", localtime(&now));
 
std::cout << timestamp << std::endl;                     // <--- this

Open in new window

0
 
LVL 53

Expert Comment

by:Infinity08
ID: 22607132
Or if you mean you want it as an std::string, you can always create one from the timestamp buffer :
time_t now = time(0);
char timestamp_buf[10] = "";
strftime (timestamp_buf, 10,"%H.%M.%S", localtime(&now));
 
std::string timestamp = std::string(timestamp_buf);
std::cout << timestamp << std::endl;

Open in new window

0

Featured Post

On Demand Webinar - Networking for the Cloud Era

This webinar discusses:
-Common barriers companies experience when moving to the cloud
-How SD-WAN changes the way we look at networks
-Best practices customers should employ moving forward with cloud migration
-What happens behind the scenes of SteelConnect’s one-click button

Question has a verified solution.

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

Suggested Solutions

When writing generic code, using template meta-programming techniques, it is sometimes useful to know if a type is convertible to another type. A good example of when this might be is if you are writing diagnostic instrumentation for code to generat…
IntroductionThis article is the second in a three part article series on the Visual Studio 2008 Debugger.  It provides tips in setting and using breakpoints. If not familiar with this debugger, you can find a basic introduction in the EE article loc…
The goal of the video will be to teach the user the concept of local variables and scope. An example of a locally defined variable will be given as well as an explanation of what scope is in C++. The local variable and concept of scope will be relat…
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

685 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