]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/llvm/tools/lldb/tools/lldb-mi/MIUtilDateTimeStd.cpp
MFV r277866
[FreeBSD/FreeBSD.git] / contrib / llvm / tools / lldb / tools / lldb-mi / MIUtilDateTimeStd.cpp
1 //===-- MIUtilDateTimeStd.cpp -----------------------------------*- C++ -*-===//
2 //
3 //                     The LLVM Compiler Infrastructure
4 //
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
7 //
8 //===----------------------------------------------------------------------===//
9
10 //++
11 // File:                MIUtilDateTimeStd.cpp
12 //
13 // Overview:    CMIUtilDateTimeStd implementation.
14 //
15 // Environment: Compilers:      Visual C++ 12.
16 //                                                      gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
17 //                              Libraries:      See MIReadmetxt. 
18 //
19 // Copyright:   None.
20 //--
21
22 // In-house headers:
23 #include "MIUtilDateTimeStd.h"
24 #include "MICmnResources.h"
25
26 //++ ------------------------------------------------------------------------------------
27 // Details:     CMIUtilDateTimeStd constructor.
28 // Type:        Method.
29 // Args:        None.
30 // Return:      None.
31 // Throws:      None.
32 //--
33 CMIUtilDateTimeStd::CMIUtilDateTimeStd( void )
34 {
35 }
36
37 //++ ------------------------------------------------------------------------------------
38 // Details:     CMIUtilDateTimeStd destructor.
39 // Type:        Method.
40 // Args:        None.
41 // Return:      None.
42 // Throws:      None.
43 //--
44 CMIUtilDateTimeStd::~CMIUtilDateTimeStd( void )
45 {
46 }
47
48 //++ ------------------------------------------------------------------------------------
49 // Details:     Retrieve system local current date. Format is MM/DD/YYYY.
50 // Type:        Method.
51 // Args:        None.
52 // Return:      CMIUtilString - Text description.
53 // Throws:      None.
54 //--
55 CMIUtilString CMIUtilDateTimeStd::GetDate( void )
56 {
57         CMIUtilString strDate( MIRSRC( IDS_WORD_INVALIDBRKTS ) );
58         
59         std::time( &m_rawTime );
60         const std::tm * pTi = std::localtime( &m_rawTime );
61         if( std::strftime( &m_pScratch[ 0 ], sizeof( m_pScratch ), "%d/%m/%y", pTi ) > 0 )
62                 strDate = m_pScratch;
63
64         return strDate;
65 }
66
67 //++ ------------------------------------------------------------------------------------
68 // Details:     Retrieve system local current time. Format is HH:MM:SS 24 hour clock.
69 // Type:        Method.
70 // Args:        None.
71 // Return:      CMIUtilString - Text description.
72 // Throws:      None.
73 //--
74 CMIUtilString CMIUtilDateTimeStd::GetTime( void ) 
75 {
76         std::time( &m_rawTime );
77         const std::tm * pTi = std::localtime( &m_rawTime );
78         const CMIUtilString seconds( CMIUtilString::Format( "%d", pTi->tm_sec ) );
79         const CMIUtilString zero( (seconds.length() == 1) ? "0" : "" );
80         const CMIUtilString strTime( CMIUtilString::Format( "%d:%d:%s%s", pTi->tm_hour, pTi->tm_min, zero.c_str(), seconds.c_str() ) );
81
82         return strTime;
83 }
84