Exemplo n.º 1
0
        public static com.robotraconteur.datetime.DateTimeLocal LocalNow(RobotRaconteurNode node = null, DeviceInfo info = null)
        {
            if (node == null)
            {
                node = RobotRaconteurNode.s;
            }
            var now       = node.NowUTC;
            var epoch_now = now - (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc));
            var ret       = new com.robotraconteur.datetime.DateTimeLocal();

            ret.seconds     = (long)Math.Floor(epoch_now.TotalSeconds);
            ret.nanoseconds = (int)((epoch_now - TimeSpan.FromSeconds(ret.seconds)).Ticks * ((long)1e6 / TimeSpan.TicksPerMillisecond));
            var utc_offset = TimeZoneInfo.Local.GetUtcOffset(now);

            ret.seconds += (long)utc_offset.TotalSeconds;
            var clock_info = new com.robotraconteur.datetime.ClockInfo();

            clock_info.clock_type = (int)com.robotraconteur.datetime.ClockTypeCode.default_;
            var device_uuid_bytes = info?.device?.uuid.uuid_bytes;

            clock_info.clock_uuid.uuid_bytes = device_uuid_bytes ?? new byte[16];
            ret.clock_info         = clock_info;
            ret.utc_offset_seconds = (int)utc_offset.TotalSeconds;
            ret.timezone_name      = TimeZoneInfo.Local.Id;
            return(ret);
        }
Exemplo n.º 2
0
        public static com.robotraconteur.datetime.TimeSpec2 TimeSpec2Now(RobotRaconteurNode node = null, DeviceInfo info = null)
        {
            if (node == null)
            {
                node = RobotRaconteurNode.s;
            }
            var now = node.NowTimeSpec;
            var ret = new com.robotraconteur.datetime.TimeSpec2();

            ret.seconds     = now.seconds;
            ret.nanoseconds = now.nanoseconds;
            var clock_info = new com.robotraconteur.datetime.ClockInfo();

            clock_info.clock_type = (int)com.robotraconteur.datetime.ClockTypeCode.node_default;
            var device_uuid_bytes = info?.device?.uuid.uuid_bytes;

            clock_info.clock_uuid.uuid_bytes = device_uuid_bytes ?? new byte[16];
            ret.clock_info = clock_info;
            return(ret);
        }