1 //===-- MIUtilDateTimeStd.cpp -----------------------------------*- C++ -*-===//
3 // The LLVM Compiler Infrastructure
5 // This file is distributed under the University of Illinois Open Source
6 // License. See LICENSE.TXT for details.
8 //===----------------------------------------------------------------------===//
11 // File: MIUtilDateTimeStd.cpp
13 // Overview: CMIUtilDateTimeStd implementation.
15 // Environment: Compilers: Visual C++ 12.
16 // gcc (Ubuntu/Linaro 4.8.1-10ubuntu9) 4.8.1
17 // Libraries: See MIReadmetxt.
23 #include "MIUtilDateTimeStd.h"
24 #include "MICmnResources.h"
26 //++ ------------------------------------------------------------------------------------
27 // Details: CMIUtilDateTimeStd constructor.
33 CMIUtilDateTimeStd::CMIUtilDateTimeStd( void )
37 //++ ------------------------------------------------------------------------------------
38 // Details: CMIUtilDateTimeStd destructor.
44 CMIUtilDateTimeStd::~CMIUtilDateTimeStd( void )
48 //++ ------------------------------------------------------------------------------------
49 // Details: Retrieve system local current date. Format is MM/DD/YYYY.
52 // Return: CMIUtilString - Text description.
55 CMIUtilString CMIUtilDateTimeStd::GetDate( void )
57 CMIUtilString strDate( MIRSRC( IDS_WORD_INVALIDBRKTS ) );
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 )
67 //++ ------------------------------------------------------------------------------------
68 // Details: Retrieve system local current time. Format is HH:MM:SS 24 hour clock.
71 // Return: CMIUtilString - Text description.
74 CMIUtilString CMIUtilDateTimeStd::GetTime( void )
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() ) );