コード例 #1
0
        public static string generateDateTz(Datetime datetime)
        {
            StringBuilder stringBuilder = new StringBuilder(16);

            DatetimeIso8601Util.generateDateTz(stringBuilder, datetime);
            return(stringBuilder.ToString());
        }
コード例 #2
0
ファイル: Datetime.cs プロジェクト: vsujeesh/bemu
 public Datetime(Datetime other)
 {
     this.init();
     this.d_parts = other.d_parts;
     Array.Copy(other.d_datetimeFieldValues, 0, this.d_datetimeFieldValues, 0, this.d_datetimeFieldValues.Length);
     this.d_picoSeconds = other.d_picoSeconds;
 }
コード例 #3
0
        private static bool parseDate(StringCharacterIterator iter, Datetime datetime)
        {
            short num = (short)DatetimeIso8601Util.parseUnsigned(iter, 2147483647);

            if (iter.current() != '-')
            {
                return(false);
            }
            iter.next();
            short num2 = (short)DatetimeIso8601Util.parseUnsigned(iter, 2147483647);

            if (iter.current() != '-')
            {
                return(false);
            }
            iter.next();
            short num3 = (short)DatetimeIso8601Util.parseUnsigned(iter, 2147483647);

            if (num != 1 || num2 != 1 || num3 != 1)
            {
                datetime.Year       = (int)num;
                datetime.Month      = (int)num2;
                datetime.DayOfMonth = (int)num3;
            }
            return(true);
        }
コード例 #4
0
 public static void generateDate(StringBuilder sb, Datetime datetime)
 {
     DatetimeIso8601Util.appendUnsignedStringValue(sb, (long)datetime.Year, 4);
     sb.Append('-');
     DatetimeIso8601Util.appendUnsignedStringValue(sb, (long)datetime.Month, 2);
     sb.Append('-');
     DatetimeIso8601Util.appendUnsignedStringValue(sb, (long)datetime.DayOfMonth, 2);
 }
コード例 #5
0
        public static bool parseDatetimeTz(string strDatetime, Datetime datetime)
        {
            int num = strDatetime.IndexOf('T');

            return
                (num >= 0 &&
                 DatetimeIso8601Util.parseDate(new StringCharacterIterator(strDatetime, 0, num, 0), datetime) &&
                 DatetimeIso8601Util.parseTimeTz(new StringCharacterIterator(strDatetime, num + 1, strDatetime.Length, num + 1), datetime));
        }
コード例 #6
0
 /*****************************************************************************
 *  Function    : CheckAspectFields
 *  Description : Processes any field that can be contained within the market
 *               bar message.
 *  Arguments   : Message
 *  Returns     : void
 *****************************************************************************/
 private void CheckAspectFields(Message msg)
 {
     // extract data for each specific element
     // it's anticipated that an application will require this data
     // in the correct format.  this is retrieved for demonstration
     // but is not used later in the code.
     if (msg.HasElement(TIME))
     {
         Datetime time     = msg.GetElementAsDatetime(TIME);
         String   time_str = msg.GetElementAsString(TIME);
         System.Console.WriteLine("Time : " + time_str);
     }
     if (msg.HasElement(OPEN))
     {
         double open     = msg.GetElementAsFloat64(OPEN);
         String open_str = msg.GetElementAsString(OPEN);
         System.Console.WriteLine("Open : " + open_str);
     }
     if (msg.HasElement(HIGH))
     {
         double high     = msg.GetElementAsFloat64(HIGH);
         String high_str = msg.GetElementAsString(HIGH);
         System.Console.WriteLine("High : " + high_str);
     }
     if (msg.HasElement(LOW))
     {
         double low     = msg.GetElementAsFloat64(LOW);
         String low_str = msg.GetElementAsString(LOW);
         System.Console.WriteLine("Low : " + low_str);
     }
     if (msg.HasElement(CLOSE))
     {
         double close     = msg.GetElementAsFloat64(CLOSE);
         String close_str = msg.GetElementAsString(CLOSE);
         System.Console.WriteLine("Close : " + close_str);
     }
     if (msg.HasElement(NUMBER_OF_TICKS))
     {
         int    number_of_ticks     = msg.GetElementAsInt32(NUMBER_OF_TICKS);
         String number_of_ticks_str = msg.GetElementAsString(NUMBER_OF_TICKS);
         System.Console.WriteLine("Number of Ticks : " + number_of_ticks_str);
     }
     if (msg.HasElement(VOLUME))
     {
         long   volume     = msg.GetElementAsInt64(VOLUME);
         String volume_str = msg.GetElementAsString(VOLUME);
         System.Console.WriteLine("Volume : " + volume_str);
     }
     System.Console.WriteLine("\n");
 }
コード例 #7
0
 public static void generateTimezoneOffset(StringBuilder sb, Datetime datetime)
 {
     if (datetime.HasParts(Datetime.TIME_ZONE_OFFSET))
     {
         int num = datetime.TimezoneOffsetMinutes;
         if (num < 0)
         {
             num = (int)((short)(-(short)num));
             sb.Append('-');
         }
         else
         {
             sb.Append('+');
         }
         DatetimeIso8601Util.appendUnsignedStringValue(sb, (long)(num / 60), 2);
         sb.Append(':');
         DatetimeIso8601Util.appendUnsignedStringValue(sb, (long)(num % 60), 2);
     }
 }
コード例 #8
0
        public static void generateTime(StringBuilder sb, Datetime datetime)
        {
            DatetimeIso8601Util.appendUnsignedStringValue(sb, (long)datetime.Hour, 2);
            sb.Append(':');
            DatetimeIso8601Util.appendUnsignedStringValue(sb, (long)datetime.Minute, 2);
            sb.Append(':');
            DatetimeIso8601Util.appendUnsignedStringValue(sb, (long)datetime.Second, 2);
            sb.Append('.');
            long num  = datetime.PicoSecond;
            int  num2 = 12;

            while (num != 0L && num % 1000L == 0L)
            {
                num  /= 1000L;
                num2 -= 3;
            }
            if (num == 0L)
            {
                num2 = 3;
            }
            DatetimeIso8601Util.appendUnsignedStringValue(sb, num, num2);
        }
コード例 #9
0
        private static bool parseTime(StringCharacterIterator iter, Datetime time)
        {
            short num = (short)DatetimeIso8601Util.parseUnsigned(iter, 2147483647);

            if (iter.current() != ':')
            {
                return(false);
            }
            iter.next();
            short num2 = (short)DatetimeIso8601Util.parseUnsigned(iter, 2147483647);

            if (iter.current() != ':')
            {
                return(false);
            }
            iter.next();
            short num3 = (short)DatetimeIso8601Util.parseUnsigned(iter, 2147483647);
            long  num4 = 0L;

            if (iter.current() == '.')
            {
                iter.next();
                num4 = DatetimeIso8601Util.parseUnsignedFixedWidth(iter, 12);
                char c = iter.current();
                while (c != '￿' && char.IsDigit(c))
                {
                    c = iter.next();
                }
            }
            if (num != 24 || num2 != 0 || num3 != 0 || num4 != 0L)
            {
                time.Hour       = (int)num;
                time.Minute     = (int)num2;
                time.Second     = (int)num3;
                time.PicoSecond = num4;
            }
            return(true);
        }
コード例 #10
0
ファイル: Datetime.cs プロジェクト: vsujeesh/bemu
 public override bool Equals(object obj)
 {
     if (this == obj)
     {
         return(true);
     }
     if (obj is Datetime)
     {
         Datetime datetime = (Datetime)obj;
         if ((this.d_parts & PART_MASK) == (datetime.d_parts & PART_MASK) && this.d_picoSeconds == datetime.d_picoSeconds)
         {
             for (int i = 0; i < this.d_datetimeFieldValues.Length; i++)
             {
                 if (this.d_datetimeFieldValues[i] != datetime.d_datetimeFieldValues[i])
                 {
                     return(false);
                 }
             }
             return(true);
         }
     }
     return(false);
 }
コード例 #11
0
        private static bool parseTimezoneOffset(StringCharacterIterator iter, Datetime datetime)
        {
            short num;

            if (iter.current() == '+')
            {
                num = 1;
            }
            else
            {
                if (iter.current() == '-')
                {
                    num = -1;
                }
                else
                {
                    if (iter.current() == 'Z' || iter.current() == 'z')
                    {
                        datetime.TimezoneOffsetMinutes = 0;
                        return(true);
                    }
                    return(false);
                }
            }
            iter.next();
            short num2 = (short)DatetimeIso8601Util.parseUnsigned(iter, 2147483647);

            if (iter.current() != ':')
            {
                return(false);
            }
            iter.next();
            short num3 = (short)DatetimeIso8601Util.parseUnsigned(iter, 2147483647);

            datetime.TimezoneOffsetMinutes = (int)(num * (num2 * 60 + num3));
            return(true);
        }
コード例 #12
0
 public static void generateDatetimeTz(StringBuilder sb, Datetime datetime)
 {
     DatetimeIso8601Util.generateDatetime(sb, datetime);
     DatetimeIso8601Util.generateTimezoneOffset(sb, datetime);
 }
コード例 #13
0
        public static bool parseTime(string strTime, Datetime time)
        {
            StringCharacterIterator iter = new StringCharacterIterator(strTime);

            return(DatetimeIso8601Util.parseTime(iter, time));
        }
コード例 #14
0
        public static bool parseDateTz(string strDate, Datetime date)
        {
            StringCharacterIterator iter = new StringCharacterIterator(strDate);

            return(DatetimeIso8601Util.parseDateTz(iter, date));
        }
コード例 #15
0
 private static bool parseTimeTz(StringCharacterIterator iter, Datetime timeTz)
 {
     return
         (DatetimeIso8601Util.parseTime(iter, timeTz) &&
          (iter.current() == '￿' || DatetimeIso8601Util.parseTimezoneOffset(iter, timeTz)));
 }
コード例 #16
0
ファイル: Request.cs プロジェクト: vsujeesh/bemu
 public void Set(Name name, Datetime elementValue)
 {
     this.Set(name.ToString(), elementValue);
 }
コード例 #17
0
ファイル: Request.cs プロジェクト: vsujeesh/bemu
 public virtual void Set(string name, Datetime elementValue)
 {
     throw new NotImplementedException("BEmu.Request.Set: Datetime is not implemented");
 }
コード例 #18
0
 public virtual void AppendValue(Datetime value)
 {
     throw new NotImplementedException("Element doesn't support AppendValue(Datetime)");
 }