首页 > 其他分享 >34进制转化为10进制

34进制转化为10进制

时间:2024-01-31 13:34:16浏览次数:28  
标签:10 进制 34 base str day

最近遇到了34进制转化为10进制的问题,记录下。

将34进制的字符串'H2V'转换成为10进制数,进而转换为日期。

百度了下34进制的资料,记录如下:

34进制指以0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F、G、H、J、K、L、M、N、P、Q、R、S、T、U、V、W、X、Y、Z为基数做累加。

0-9和A-Z共36个数字加上英文字母去掉 'I'、'O'这两个容易和1、0混淆的字母后共34个基数。主要应用在容易造成数字和字母混淆的特殊领域,比如汽车牌照数字,方便识别管理。

php函数base_convert

function getDate1($str)
{
    $ts_day = 24 * 60 * 60;
    $day_num = intval(base_convert($str, 34, 10));
    return date('Ymd', $day_num * $ts_day);
}

$str = 'H2V';
echo '<pre>';
var_dump($str, getDate1($str)); //"20240129"

得到的结果和实际的日期并不相符,应该是base_convert并未根据实际去除 'I'、'O'这两个字母后再计算

自定义函数

function getDate2($str)
{
    $base = [
        '0', '1', '2', '3', '4', '5', '6', '7', '8', '9',
        'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'J', 'K', 'L', 'M',
        'N', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'
    ];

    $sum = 0;
    $len = strlen($str);
    for ($i = 0; $i < $len; $i++) {
        $index = array_search($str[$i], $base);
        $sum += pow(34, $len - $i - 1) * $index;
    }

    $ts_day = 24 * 60 * 60;
    return date('Ymd', $sum * $ts_day);
}

$str = 'H2V';
echo '<pre>';
var_dump($str, getDate2($str));//"20240127"

得到的结果和实际的日期相符

 

标签:10,进制,34,base,str,day
From: https://www.cnblogs.com/caroline2016/p/17999073

相关文章

  • D20XB100-ASEMI整流桥D20XB100参数、封装、规格
    编辑:llD20XB100-ASEMI整流桥D20XB100参数、封装、规格型号:D20XB100品牌:ASEMI正向电流(Id):20A反向耐压(VRRM):1000V正向浪涌电流:300A正向电压(VF):1.05V引脚数量:5芯片个数:4芯片尺寸:MIL功率(Pd):大功率设备封装:GBJ-5工作温度:-40°C~150°C类型:插件、整流桥D20XB100描述:ASEMI品牌D20XB100是采......
  • D20XB100-ASEMI整流桥D20XB100参数、封装、规格
    编辑:llD20XB100-ASEMI整流桥D20XB100参数、封装、规格型号:D20XB100品牌:ASEMI正向电流(Id):20A反向耐压(VRRM):1000V正向浪涌电流:300A正向电压(VF):1.05V引脚数量:5芯片个数:4芯片尺寸:MIL功率(Pd):大功率设备封装:GBJ-5工作温度:-40°C~150°C类型:插件、整流桥D20XB100描述:ASEMI......
  • Go语言的100个错误使用场景(11-20)|项目组织和数据类型
    目录前言2.Codeandprojectorganization2.11没有使用函数式选项模式(#11)2.12项目缺乏组织(#12)2.13创建公共设施包(#13)2.14忽略包名的冲突(#14)2.15代码文档缺失(#15)2.16不使用code-linter(#16)3.Datatypes3.1八进制产生的混乱局面(#17)3.2忽略整型溢出(#18)3.3不理解浮点数(#19)3......
  • T100 背景执行遇到的问题
    如cwssp500里生成订单的操作里会背景执行cxmp500这个程序去更新库存档: 如果想要其他角色用户也能够执行这个功能的话就必须在azzi850里赋予权限(下图是赋予给了客服人员这个角色的权限):如果不在此处给对应角色施加权限的话,那么这背景执行的功能只有在你管理员角色下才会有效,而......
  • 这样加个中间件,接口速度提升 1000%
    本文是在开发mockm周边过程中的创作。它可以快速生成api以及创造数据,开箱即用,便于部署,恳求不吝提出宝贵意见。动机最近在做一个curd项目,这里我们代名为myApi,用于实现0代码、无需声明模型、自动实现增删改查一些列的接口,支持任意关系型数据库。经过几天的努力,终于把基......
  • 【10秒开服】幻兽帕鲁全自动部署教程,难道你还想手动搭建游戏服务器吗?快来学习这个简单
    在帕鲁的世界,你可以选择与神奇的生物「帕鲁」一同享受悠闲的生活,也可以投身于与偷猎者进行生死搏斗的冒险。帕鲁可以进行战斗、繁殖、协助你做农活,也可以为你在工厂工作。你也可以将它们进行售卖,或肢解后食用。引用自:https://store.steampowered.com/app/1623730/Palworld目前......
  • cs3110-2.6exercises
    Exercise:values[✭]WhatisthetypeandvalueofeachofthefollowingOCamlexpressions?7*(1+2+3)"CS"^string_of_int3110Hint:typeeachexpressionintothetoplevelanditwilltellyoutheanswer.Note:^isnotexponentiation.int......
  • 初中英语优秀范文100篇-074I want to invent a flying car-我想发明一辆飞行汽车
    PDF格式公众号回复关键字:SHCZFW074记忆树1Nevercanwedenythathigh-technologyhasafar-reachinginfluenceonourlife.翻译我们不能否认高科技对我们的生活产生了深远的影响简化记忆影响句子结构Nevercanwedeny是倒装句,正常语序是“Wecanneverdenyt......
  • Windows10安装Hadoop3.1.3环境
    Windows10安装Hadoop3.1.3环境文章目录1.安装包下载1.1.hadoop官网下载1.2下载winutils1.3安装文件2.配置安装2.1安装配置JDK环境2.2解压hadoop压缩包2.3配置hadoop的环境变量2.3.1配置HADOOP_HOME2.3.2配置Path变量2.4配置hadoop2.4.1创建data和temp文件夹2.4.2配置hadoop......
  • luffy_010days
    前倾回顾:#1celery分布式异步任务框架-异步-分布式#2解决的问题-异步:发送短信,异步秒杀-延迟任务:订单延迟取消-定时任务:定时更新轮播图#3补充:如果后续只需要定时任务---》可以使用别的模块APSchudler:https://www.cnblogs.com/ysg......