Geant4 Cross Reference

Cross-Referencing   Geant4
Geant4/externals/g4tools/include/tools/wroot/date

Version: [ ReleaseNotes ] [ 1.0 ] [ 1.1 ] [ 2.0 ] [ 3.0 ] [ 3.1 ] [ 3.2 ] [ 4.0 ] [ 4.0.p1 ] [ 4.0.p2 ] [ 4.1 ] [ 4.1.p1 ] [ 5.0 ] [ 5.0.p1 ] [ 5.1 ] [ 5.1.p1 ] [ 5.2 ] [ 5.2.p1 ] [ 5.2.p2 ] [ 6.0 ] [ 6.0.p1 ] [ 6.1 ] [ 6.2 ] [ 6.2.p1 ] [ 6.2.p2 ] [ 7.0 ] [ 7.0.p1 ] [ 7.1 ] [ 7.1.p1 ] [ 8.0 ] [ 8.0.p1 ] [ 8.1 ] [ 8.1.p1 ] [ 8.1.p2 ] [ 8.2 ] [ 8.2.p1 ] [ 8.3 ] [ 8.3.p1 ] [ 8.3.p2 ] [ 9.0 ] [ 9.0.p1 ] [ 9.0.p2 ] [ 9.1 ] [ 9.1.p1 ] [ 9.1.p2 ] [ 9.1.p3 ] [ 9.2 ] [ 9.2.p1 ] [ 9.2.p2 ] [ 9.2.p3 ] [ 9.2.p4 ] [ 9.3 ] [ 9.3.p1 ] [ 9.3.p2 ] [ 9.4 ] [ 9.4.p1 ] [ 9.4.p2 ] [ 9.4.p3 ] [ 9.4.p4 ] [ 9.5 ] [ 9.5.p1 ] [ 9.5.p2 ] [ 9.6 ] [ 9.6.p1 ] [ 9.6.p2 ] [ 9.6.p3 ] [ 9.6.p4 ] [ 10.0 ] [ 10.0.p1 ] [ 10.0.p2 ] [ 10.0.p3 ] [ 10.0.p4 ] [ 10.1 ] [ 10.1.p1 ] [ 10.1.p2 ] [ 10.1.p3 ] [ 10.2 ] [ 10.2.p1 ] [ 10.2.p2 ] [ 10.2.p3 ] [ 10.3 ] [ 10.3.p1 ] [ 10.3.p2 ] [ 10.3.p3 ] [ 10.4 ] [ 10.4.p1 ] [ 10.4.p2 ] [ 10.4.p3 ] [ 10.5 ] [ 10.5.p1 ] [ 10.6 ] [ 10.6.p1 ] [ 10.6.p2 ] [ 10.6.p3 ] [ 10.7 ] [ 10.7.p1 ] [ 10.7.p2 ] [ 10.7.p3 ] [ 10.7.p4 ] [ 11.0 ] [ 11.0.p1 ] [ 11.0.p2 ] [ 11.0.p3, ] [ 11.0.p4 ] [ 11.1 ] [ 11.1.1 ] [ 11.1.2 ] [ 11.1.3 ] [ 11.2 ] [ 11.2.1 ] [ 11.2.2 ] [ 11.3.0 ]

Diff markup

Differences between /externals/g4tools/include/tools/wroot/date (Version 11.3.0) and /externals/g4tools/include/tools/wroot/date (Version 4.0.p1)


  1 // Copyright (C) 2010, Guy Barrand. All rights    
  2 // See the file tools.license for terms.          
  3                                                   
  4 #ifndef tools_wroot_date                          
  5 #define tools_wroot_date                          
  6                                                   
  7 //_MSC_VER (= Microsoft VisualC++) :              
  8 //  localtime_r() does not exist on Windows an    
  9 //  Windows ::GetLocalTime() since G4 do not w    
 10 //  Then we stay with the not thread safe loca    
 11                                                   
 12 #include <time.h>                                 
 13                                                   
 14 namespace tools {                                 
 15 namespace wroot {                                 
 16                                                   
 17 typedef unsigned int date;                        
 18                                                   
 19 inline date get_date(){                           
 20   // Set Date/Time to current time as reported    
 21   // Date and Time are encoded into one single    
 22   // Date is stored with the origin being the     
 23   // Time has 1 second precision.                 
 24   time_t tloc = ::time(0);                        
 25 #if defined(_MSC_VER) || defined(__MINGW32__)     
 26   struct tm *tp = (tm*)::localtime(&tloc); //n    
 27 #else                                             
 28   struct tm tpa;                                  
 29   struct tm *tp = (tm*)::localtime_r(&tloc, &t    
 30 #endif                                            
 31   unsigned int _year   = tp->tm_year;             
 32   unsigned int _month  = tp->tm_mon + 1;          
 33   unsigned int _day    = tp->tm_mday;             
 34   unsigned int _hour   = tp->tm_hour;             
 35   unsigned int _min    = tp->tm_min;              
 36   unsigned int _sec    = tp->tm_sec;              
 37   return ((_year-95)<<26 | _month<<22 | _day<<    
 38 }                                                 
 39                                                   
 40 }}                                                
 41                                                   
 42 #endif