精华内容
下载资源
问答
  • 这里写自定义目录标题vue.js怎样将时间戳转化为日期格式新建一个date.js 文件重点来了,组件中引入在过滤器中使用,formatDate 过滤器 与data同级 vue.js怎样将时间戳转化为日期格式 新建一个date.js 文件 export ...

    vue.js怎样将时间戳转化为日期格式

    新建一个date.js 文件

    export function formatDate (date, fmt) {
      if (/(y+)/.test(fmt)) {
        fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length))
      }
      let o = {
        'M+': date.getMonth() + 1,
        'd+': date.getDate(),
        'h+': date.getHours(),
        'm+': date.getMinutes(),
        's+': date.getSeconds()
      };
      for (let k in o) {
        if (new RegExp(`(${k})`).test(fmt)) {
          let str = o[k] + ''
          fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str))
        }
      }
      return fmt
    };
    
    function padLeftZero (str) {
      return ('00' + str).substr(str.length)
    };
    

    重点来了,组件中引入

    import {formatDate} from '../../common/js/date'
    

    在过滤器中使用,

    <p class="time">{{item.rateTime | formatDate}}</p>
    

    formatDate 过滤器 与data同级

    filters: {
              formatDate (time) {
                var date = new Date(time)
                return formatDate(date, 'yyyy-MM-dd hh:mm')
              }
            },
    
    展开全文
  • 这里写自定义目录标题使用命令行pdf转化为eps直接使用命令报GP,ghostscript 的init文件不存在错误 使用命令行pdf转化为eps 直接使用命令 pdf2ps tu2.pdf output.eps 在终端当中进入到yu2.pdf的上层文件夹,而后...

    使用命令行将pdf转化为eps

    直接使用命令

    pdf2ps tu2.pdf output.eps
    

    在终端当中进入到yu2.pdf的上层文件夹,而后输入命令。

    报GP,ghostscript 的init文件不存在错误

    应该是mac系统的更新造成的,所以我就重新下载了macTex,然后再输入命令发现就可以了。

    展开全文
  • 这里写目录标题出生日期转化为岁月天 出生日期转化为岁月天 //传入 “2021-08-09”.split('-') getAge(birthday) { // 新建日期对象 let date = new Date() // 今天日期,数组,同 birthday let today = [date....

    这里写目录标题

    出生日期转化为岁月天

    //传入 “2021-08-09”.split('-')
                 getAge(birthday) {
        // 新建日期对象
        let date = new Date()
        // 今天日期,数组,同 birthday
        let today = [date.getFullYear(), date.getMonth() + 1, date.getDate()]
        // 分别计算年月日差值
        let age = today.map((value, index) => {
            return value - birthday[index]
        })
        // 当天数为负数时,月减 1,天数加上月总天数
        if (age[2] < 0) {
            // 简单获取上个月总天数的方法,不会错
            let lastMonth = new Date(today[0], today[1], 0)
            age[1]--
            age[2] += lastMonth.getDate()
        }
        // 当月数为负数时,年减 1,月数加上 12
        if (age[1] < 0) {
            age[0]--
            age[1] += 12
        }
        let str = age[0] ? age[0]+'岁' : "";
        str += age[1] ? age[1]+'月' : "";
        return str
    },
    
    展开全文
  • 文章目录[*流畅的 C*] C语言结构体转化为字符串*Overview*思路packet to string “抽象实现”如何使用SummaryReference Overview 思路 直接使用 memcpy 之类的是不可以的。所以最好的做法就是定义结构体的时候就...

    [流畅的 C] C语言将结构体转化为字符串

    本文并非标题的具体实现。而是提供一种编程方式,习惯,一种探讨。
    本文有一点点门槛,有 socket,开源协议栈学习/开发经验者阅读更佳。

    N/A

    思路

    直接使用 memcpy 之类的是不会得到你期望的。
    所以最好的做法就是定义结构体的时候就实现对字符串的转换。

    就像 Python 的 __str__ 一样。
    (不好意思,博主雷打不动转python!信仰上帝Python)
    如果不懂 python 也没有关系,我在下面会说明 C 语言的方法。

    假设你有一个 packet:

    struct protocol_packet { /* 假设 open source 已经帮你把字节码翻译成 ACSII / HEX 完成*/
        unsigned char Mac[16];
        unsigned char IPv4Addr[64];
    };
    

    然后你你在一个 open source 代码中,有个函数,传递了接受过来的packet:

    int
    I_am_open_source_handler(struct protocol_packet *recv_packet){
       // ...do things...
      return 0;
    }
    

    struct (packet) to string “抽象实现”

    这个时候你想把 packet 打印出来看看里面有什么。
    我们可以这么做:

    免责声明,因为个人时间有限,没有对以下纯手打抽象出来的代码实验,
    但是思路不会错,所以具体细节还需要看官自己微调一下。

    struct protocol_packet { /* 假设 open source 已经帮你把字节码翻译成 ACSII / HEX 完成*/
        unsigned char Mac[16];
        unsigned char IPv4Addr[64];
    
        int (*packet2str)(char*, struct protocol_packet*);
        int (*spacket2str)(char*, struct protocol_packet*, size_t);
    };
    
    int protocol_packet2str(char dstStr[], struct protocol_packet *recv_packet){
        /** why char dstStr[]?: 
         * 这个和 char *dstStr, 是完全一样的,这些写只是为了方面了解含义。
         * 实际上它不是数组,关键词:“指针退化”
         * 我会假设你知道  *recv_packet 这么传递有助于提升运行效率;
         * 如果你对 const 熟悉,我建议“像强迫症”一样给它加上 const,
         * 因为这样能够说明本函数不会改变 recv_packet 的内容。
         * 
         * 你无法直接拷贝整个 struct 成为你想要的 string,
         * 因为有些成员可能是 HEX 之类的,输出时会有问题,
         * 所以只能针对它内部的成员一个一个拷贝;
         * 因为是用来输出的,所以这个时候你可以直接添加一些字段的含义说明在 dstStr 中
         */
         unsigned char mapping_struct_Mac[16];
         unsigned char mapping_struct_IPv4Addr[64];
         /* 假设 open source 已经将 MAC 解析成了 FF0073E4FFFF 的形式*/
         memcpy(mapping_struct_Mac, recv_packet->Mac, 16);
         memcpy(mapping_struct_IPv4Addr, recv_packet->IPv4Addr, 64);
    
       /** 现在你可以使用 snprintf() 定制你的字符串输出了
        * 注意, MAC 不能使用 '%s' 的方式, 你得 for 循环 使用 %x(%X), 再注意,MAC 不是 16 byte 长度!
        * 为了避免误导,因为我主要的时间都在写 Python,所以C语言没有测试可能会有错误,
        * 因此下面不给实例,要你自己实现 snprintf() 的具体内容,这里是思路:
        * 比如针对 MAC:     01234    */
       snprint(dstStr, 5"MAC: ");  /* 有没有人能教我一些 C 语言里面计算偏移的技巧??? */
       snprint(&dstStr[5], 18, "%02X:%02X:%02X:%02X:%02X:%02X",
               mapping_struct_MAC[0], mapping_struct_MAC[1], mapping_struct_MAC[2],
               mapping_struct_MAC[3], mapping_struct_MAC[4], mapping_struct_MAC[5]);
       // ...do the final job by you....
        return 0;
    }
    
    int sprotocol_packet2str(char dstStr[], struct protocol_packet *recv_packet size_t length_of_dstStr){
        /**  你可以实现一个 safe 版本,比起上面,只是多了一个 dstStr 的长度检查;    */
        return 0;
    }
    

    如何使用

    这里有一处必须要注意的地方:

    因为我们上面把 struct 里面的内容改了,增加了一个转化为 string 的函数指针(还有一个 option 的 safe 方法),
    但是如果不给这个指针赋值,它是 NULL 的,不能乱用。
    所以,使用的时候,找到 code 里面初始化 recv_packet 的地方,我假设原本 code 是这样的:

    int
    main(...你懂的...){
       struct protocol_packet recv_packet;
       
       // make me as daemon, come on!
       
       while(1) { /* loop until universe collapses */
           // 收到 frame -网络字节码-> theFrame
           拆包func(&recv_packet, &theFrame, /*..other if needed..*/);
           
           I_am_open_source_handler(&recv_packet);
    		
    		// ..other if needed...
       }
    
       return 0;
    }
    

    那么这个位置我们只需要轻轻一改:

    int
    main(...你懂的...){
       struct protocol_packet recv_packet;
       
       // make me as daemon, come on!
       
       while(1) { /* loop until universe collapses */
           // 收到 frame -网络字节码-> theFrame
           拆包func(&recv_packet, &theFrame, /*..other if needed..*/);
          
           recv_packet.packet2str = protocol_packet2str;  // LOOK AT ME !!!!!!!!
          
           I_am_open_source_handler(&recv_packet);
    		
    		// ..other if needed...
       }
       return 0;
    }
    

    终于到了最后:
    现在你就可以在任何嵌套在 I_am_open_source_handler() 里面很深层次的函数里面这么使用了:

    int
    I_am_open_source_handler(struct protocol_packet *recv_packet){
       // ...do things...
       switch([...]){
       case [...]:
           [...]
       case [...]:
           i_am_a_func_in_the_HANDLER(recv_packet);
           [...]
           break;
       }
      return 0;
    }
    
    int
    i_am_a_func_in_the_HANDLER(struct protocol_packet *recv_packet_p){
       // 我想要在这里知道 recv_packet 内部具体有哪些值,
       // OK, that's do it:
       char my_add_debug_str[2048] = {'\0'}; /* 长一点总不会坏事吧 */
       recv_packet_p->packet2str(my_add_debug_str, recv_packet_p); /* 注意,这里 recv_packet_p 是指针类型哦 */
       printf("%s", my_add_debug_str);  /* 看,这样就可以愉快地输出了 */
    
      /* 当我知道了 protocol 里面有哪些内容之后,
       * 我可能会在下面的 source code 前面的现在这里,
       * 添加一些自己的代码,做一些检查,定制化等等。
       */
    
       // ..do magic things...
       // BUT, I don't care this part code!
    }
    

    全文亮点

    当然,你可以定义一个全局函数,不修改 struct protocol_packet 里面的内容,全局函数就跟 protocol_packet2str() 里面一样写就可以了。然后需要的地方,直接调用这个全局函数。

    但是这样写还要知道这个函数不是吗?
    在产品代码里面,这个函数一般都不会出现在像上面的 i_am_a_func_in_the_HANDLER() 这样的具体行为的代码里面,但是,如果定义了这样一个自动转化的指针,那么每个结构体初始化的位置: struct protocol_packet recv_packet; 你都可以给它绑定函数:
    recv_packet.packet2str = protocol_packet2str; // LOOK AT ME !!!!!!!!

    这个绑定语句可以紧跟在初始化位置后面,不用在上面的 while 循环之类的内部绑定即可。上面是为了方面理解。

    这句代码可以留着,因为给结构体的一个成员绑定一个地址并不会消耗什么资源,并且它不会有任何输出。

    考虑如下的情况:
    当另外一个人,完全没有接触过这个代码,或者说,
    你自己几个月之后又要跟踪 packet 的状态,
    然后你很不巧地发现自己当初写的结构体成员(变量)名称含义不明 – 看到 struct 内部脑海里就出现黑人问号…

    那么当你看到这样一个结构体:

    struct protocol_packet { /* 假设 open source 已经帮你把字节码翻译成 ACSII / HEX 完成*/
       unsigned char i_am_not_named_mac_addr[16];
       unsigned char i_have_a_strange_name[64];
    
       int (*packet2str)(char*, struct protocol_packet*);
       int (*spacket2str)(char*, struct protocol_packet*, size_t);
    };
    

    你就知道可以这么调用:
    recv_packet_p->packet2str(debug_str, recv_packet_p);
    来的得到整个结构体内部变量的值是怎么样的了,然后很轻松地把它打印显示出来。

    非指针是这么调用: recv_packet.packet2str(debug_str, &recv_packet) ;

    于是你就可以很自然地写出这三行代码:

      char debug_str[2048] = {'\0'};
      recv_packet_p->packet2str(debug_str, recv_packet_p); 
      printf("%s", debug_str);
    

    从此观察结构体内部状态就变成了一个很轻松地事情了。

    一般我们可能只是要个输出,那么完全可以定义一个
    void (*packet_format_print)(struct protocol_packet*); 在结构体内部,
    只不过这个方法可能不足够安全,因为一些系统知识有关的原因,在这个函数内部的实现输出根据不同的平台需要做一个适配的调整。比如输出到文件/syslog?输出到默认终端?输出到 console? 是指这个意思。


    在初始化结构体的时候绑定函数,就是基于对象的做法,类似 C++ 有个构造函数。
    struct 可以当作一个 default public 的类来使用,所以只要自己定义好了构造函数,在 C 里面也是可以很方便的直接初始化它,而不用上述显式地去绑定函数。
    但是这部分说明,对于这个字符串化结构体这个主题,相关性不大。所以这里只是一个提及。

    Reference

    实际上这里没有啥 reference, 但是如果你觉的上面的内容有用,有些内容不理解?,想要多了解一下?
    那么这里有一些是上面内容使用到的知识点:

    1. 指针退化;
    2. C 语言的基于对象编程(编程范式)-> 使用函数指针实现对象“方法”;
    3. ACSII 码可以 %s,查看,HEX 码万万不能误用 %s 来输出;
    4. daemon 进程一般程序内部使用 printf 不会输出到终端;
    5. 一些一时说不上来的细节。

    快点学 python 吧!


    欢迎朋友指出上面文章内容的错误之类。
    或者有更好的建议。
    本人水平有限,本文仅供参考。

    展开全文
  • 这里写目录标题将对象数组转化为excle导出 对象数组转化为excle导出 $ npm install xlsx xlsx Api 使用详情:https://www.npmjs.com/package/xlsx 中文文档:...
  • 帮助文档 快捷键目录标题文本样式列表链接代码片表格注脚注释自定义列表LaTeX 数学公式插入甘特图插入UML图插入Mermaid流程图插入Flowchart流程图 标题复制 Name转化为 comments 1、 在生成的表中,选择下给你要...
  • 如何QFileDialog对话框中的英文内容转化为中文 在QT安装目录中找到相应的.qm文件,如/usr/local/Trolltech/Qt-4.8.7/translations/qt_zh_CN.qm 在程序的入口函数出增加如下代码 #include &amp;lt;...
  • 静态图转化为分块加载的动态图 方案 1. PIL: 1. 创建背景图 2. 原图拆分成N块并依次合成到背景图的相应位置, 得到N张素材图 3. N张素材图合成GIF 2. pygifsicle 对合成的GIF进行优化(无损压缩, 精简...
  • c++代码转化为lua代码

    千次阅读 2015-01-04 20:20:35
    在这里,我们使用cc作为模块名,当你想在脚本层REF的名称,您必须一个名前缀,CC在名称的前面。例如,CustomClass可以参考作为 cc.CustomClass 。 headers:要配置所有需要解析的头文件和%(cocosdir)...
  • Image 图像转化为 PDF 文件

    千次阅读 2018-04-12 10:44:04
    开发中如果有这样的需求把 Image 图像转化为 PDF 文件你会怎么做呢?你可能会在网上狂找资料寻找解决方案,但是事实上网上这方面的资料非常少,有的作者没有给出一个完整的内容或者给出的内容不适合现在的需求、有...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • 使用Python的PyCharm.py文件转化为可执行文件.exe 1、需要安装pyinstaller库,安装方法在cmd中运行pip install pyinstaller; 2、可以在PyCharm的Terminal终端中再运行一遍pip install pyinstaller,包导入...
  • 这里写自定义目录标题转化公式新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右...
  • 数字转化为字符串函数

    千次阅读 2019-03-29 15:09:54
    用的是STM32F103ZET6单片机,把数字与10求余取出单个数字,再加上’0’变转化为字符了。 str.h头文件 #ifndef __STR_H #define __STR_H #include “sys.h” //extern char string[16]; void ConvertNumToString(int ...
  • #怎么将txt文件转化为html格式的文件?--极为丑陋的方式 import os #找出所有的txt格式的文件 def getAllTxtFilename(path): '找出所有的txt格式的文件,未对子文件夹进行查找' #初始化一个空list ...
  • 求把C语言转化为Java语言

    千次阅读 2019-05-18 17:07:50
    这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 【LaTeX笔记3】标题目录

    万次阅读 2018-06-12 16:50:34
    1 代码部分% 导言区 \documentclass[12pt]{article}%{ctexart} ...\title{标题目录} \author{张三丰} \date{\today} % 正文区(文稿区) \begin{document} \maketitle %生成文档目录 \tableof...
  • 酷狗缓存文件转化成MP3格式

    万次阅读 2019-02-12 15:35:22
    酷狗升级后原先简单的缓存文件的后缀改成mp3已经不行了,进过测试确实可以,雨大家共享一下。 1.首先在网上下载一款名HxD的软件,网上搜一下。0.83M 2、打开HxD软件,酷狗缓存文件拖到里面。 3、找到00000400...
  • 文章目录1、.txt文件转化为.pcd文件2、可视化单个点云3、pcl::PointCloud和pcl::PointCloud::Ptr类型的相互转换 1、.txt文件转化为.pcd文件 注:.txt形式的点云文件没有header,存储的全是xyz数据 源代码: #include...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 这里写目录标题1.转化函数1. str2bool函数2. 直接调用2.二级目录三级目录 1.转化函数 1. str2bool函数 #这个数在其中返回Ture,否则返回False–>一个字符串转布尔的小函数 def str2bool(v): return v.lower() in...
  • python解析Markdown内容, # 1.标题 ...## 1.1标题 ...### 1.1.1 标题 ...### 1.1.2 标题 ...### 1.1.3 标题 ...# 2.标题 ...## 2.1标题 ...该文章主要功能是解析markdown标题,构建父类标题与子类标题之间的对应
  • 灰度图像转化为二值图像的matlab实现 据说写博客就可以获得10积分,我试试。 灰度图像转化为二值图像的matlab实现 I=imread(‘C:\Users\Administrator\Desktop/5.bmp’); I2=im2bw(I,0.45);%对图像自动二值化 imshow...
  • 用pandoc把markdown转化为pdf文档

    千次阅读 2017-02-07 11:39:54
    Latex环境第一个Latex文档Latex格式简介 源文件的结构 使用texdoc获得帮助Latex中文支持 列出可用的字体安装新...设置标题的字体黑体 本文的目的是由markdown生成pdf格式的文件。其基本转换流程如下:
  • 这里写自定义目录标题调用函数graph一步搞定 调用函数graph一步搞定 %Create a graph using the adjacency matrix.'OmitSelfLoops’忽略对角线, %'upper’指明上三角(即无向图) G = graph(A,‘upper’,...
  • 这里为将 words.db 导入到电脑中的 D 盘,因此目的文件路径为 D:\     因此这里使用命令   adb pull /data/data/com.example.myapp/databases/myapp.db D:\   然后打开 D 盘,可以看到 myapp.db 了...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、...
  • 这里写自定义目录标题 let data="[123,456]" let array=eval("("+data+")"); 一定要加括号

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 27,936
精华内容 11,174
关键字:

怎样将标题转化为目录