2010-06-10 15 views
7

क्या सिस्टेमटीएमई का उपयोग करके सप्ताह के दिन को निर्धारित करना संभव है, यदि कोई तिथि (महीने-वर्ष-वर्ष) प्रदान की जाती है या यह संरचना केवल एक तरफ है?दी गई तिथि, सप्ताह का दिन प्राप्त करें - SYSTEMTIME

सिस्टम जो मैं पूछ रहा हूं उसे पूरा करने का सबसे हल्का तरीका क्या है यदि SYSTEMTIME ऐसा नहीं कर सकता (Win32 का उपयोग कर)?

उत्तर

18

msdn के अनुसार, wDayOfWeek सदस्य SYSTEMTIME से FILETIME परिवर्तित करते समय अनदेखा किया जाता है। जब वापस परिवर्तित करने, उस में भर दिया है।

SYSTEMTIME t = { 2010, 6, -1 /*ignored*/, 11 }; 
FILETIME ft; 
HRESULT hrto = SystemTimeToFileTime(&t, &ft); 
HRESULT hrback = FileTimeToSystemTime(&ft, &t); 

WORD dayofweek = t.wDayOfWeek; 
1

SystemTimeToFileTime उपयोग एक FILETIME को SYSTEMTIME गुप्त। फिर FileTimeToSystemTimeto का उपयोग इसे सप्ताह के साथ एक SYSTEMTIME में परिवर्तित करें।

12

ऐसा करने का एक और तरीका यह है कि थोड़ा अधिक प्लेटफॉर्म स्वतंत्र हो सकता है localtime या gmtime का उपयोग करना होगा। यदि आपका जवाब मार्क के लिए

struct tm *timeval; 
time_t tt; 
tt = time(NULL); 
timeval = localtime(&tt); 
// print zero based day of week 
printf("day of week = %d\n", timeval->tm_wday); 
+0

धन्यवाद:

उदाहरण के लिए, सप्ताह की वर्तमान दिन प्रिंट –

संबंधित मुद्दे