예제 #1
0
        public static TdrError.ErrorType tdrTime2Str(ref TdrVisualBuf buf, UInt32 time)
        {
            TdrError.ErrorType ret = TdrError.ErrorType.TDR_NO_ERROR;
            TdrTime            tm  = new TdrTime();

            ret = tm.parse(time);
            if (TdrError.ErrorType.TDR_NO_ERROR == ret)
            {
                ret = buf.sprintf("{0:d2}:{1:d2}:{2:d2}", tm.nHour, tm.bMin, tm.bSec);
            }
            else
            {
#if (DEBUG)
                StackTrace st = new StackTrace(true);
                for (int i = 0; i < st.FrameCount; i++)
                {
                    if (null != st.GetFrame(i).GetFileName())
                    {
                        Console.WriteLine(st.GetFrame(i).ToString());
                    }
                }
#endif
                ret = TdrError.ErrorType.TDR_ERR_INVALID_TDRTIME_VALUE;
            }

            return(ret);
        }
예제 #2
0
        public TdrError.ErrorType parse(ulong datetime)
        {
            TdrError.ErrorType ret = TdrError.ErrorType.TDR_NO_ERROR;

            uint date = (uint)(datetime & 0xFFFFFFFF);
            uint time = (uint)((datetime >> 32) & 0xFFFFFFFF);

            ret = tdrDate.parse(date);
            if (ret == TdrError.ErrorType.TDR_NO_ERROR)
            {
                ret = tdrTime.parse(time);
            }

            return(ret);
        }