• OctetString 转String


         /// <summary>
            /// OctetString转时间
            /// </summary>
            /// <param name="ss">字符串如  07 E3 06 06 11 10 0A 00 2B 08 00</param>
            /// <returns>2012-09-23 17:01:27</returns>
            public static string OctetString2DateAndTime(string ss)
            {
                // 07 E3 06 06 11 10 0A 00 2B 08 00
                byte[] bts=ss.Trim().Split(' ').Select(s => byte.Parse(Convert.ToInt32("0x" + s, 16).ToString())).ToArray();
                byte[] format_str = new byte[19]; //保存格式化过后的时间字符串
                int year = bts[0] * 256 + bts[1];
                int month = bts[2];
                int day = bts[3];
                int hour = bts[4];
                int minute = bts[5];
                int second = bts[6];
                int msecond = bts[7];
                //以下为格式化字符串
                int index = 3;
                int temp = year;
                for (; index >= 0; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
    
                format_str[4] = (byte)'-';
                index = 6;
                temp = month;
                for (; index >= 5; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
    
                format_str[7] = (byte)'-';
                index = 9;
                temp = day;
                for (; index >= 8; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
    
                format_str[10] = (byte)' ';
                index = 12;
                temp = hour;
                for (; index >= 11; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
    
                format_str[13] = (byte)':';
                index = 15;
                temp = minute;
                for (; index >= 14; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
    
                format_str[16] = (byte)':';
                index = 18;
                temp = second;
                for (; index >= 17; index--)
                {
                    format_str[index] = (byte)(48 + (temp - temp / 10 * 10));
                    temp /= 10;
                }
                return Encoding.Default.GetString(format_str);
            }
  • 相关阅读:
    Eclipse / android studio 添加第三方jar包 步骤
    Android checkbox 自定义点击效果
    Android 程序打包和安装过程
    Android 基础
    (转)Genymotion安装virtual device的“unable to create virtual device, Server returned Http status code 0”的解决方法
    (转)eclipse 导入Android 项目 步骤
    微信开放平台注册 步骤
    Android Studio 初级安装
    数组
    作用域问题代码
  • 原文地址:https://www.cnblogs.com/simadi/p/10998224.html
Copyright © 2020-2023  润新知