day42时间格式转化

news2024/11/24 18:43:02

题目描述:
在这里插入图片描述
解题思路
1.将字符串给以" "为间隔进行切割然后各个部分进行不同的处理。
字符串切割使用 strtok(char* a, char* b) 函数,该函数返回切割完成后第一个子串的指针。
//切割,返回第一个字串的指针。这里注意,第二个参数也必须是字符串,写’ ‘是错误的。
char* ptr = strtok(char* date, " ");
//获得下一个字串的方法。
ptr = strtok(NULL, " ");
2.字符串比较使用 strcmp(char* a, char* b) 函数,若两字符串相同则返回0,否则返回第一个不同字符的索引。
3.字符串拼接使用 strcat(char* a, char* b) 函数,该函数会从a字符串的’\0’处开始(包括这个’\0’字符)赋值b字符串(包括b字符串最后的’\0’字符)。因此a要有足够的空间容纳b字符串的长度。

char * reformatDate(char * date){
    char* ptr = strtok(date," ");
    //日
    char* day = (char*)malloc(sizeof(char)*3);
    if(ptr[1] == 's' || ptr[1] == 'n' || ptr[1] == 'r' || ptr[1] == 't'){
        day[0] = '0';
        day[1] = ptr[0];
        day[2] = '\0';
    }else{
        day[0] = ptr[0];
        day[1] = ptr[1];
        day[2] = '\0';
    }
    //月
    ptr = strtok(NULL," ");
    char* month;
    if(!strcmp("Jan",ptr)){
        month = "01";
    }else if(!strcmp("Feb",ptr)){
        month = "02";
    }else if(!strcmp("Mar",ptr)){
        month = "03";
    }else if(!strcmp("Apr",ptr)){
        month = "04";
    }else if(!strcmp("May",ptr)){
        month = "05";
    }else if(!strcmp("Jun",ptr)){
        month = "06";
    }else if(!strcmp("Jul",ptr)){
        month = "07";
    }else if(!strcmp("Aug",ptr)){
        month = "08";
    }else if(!strcmp("Sep",ptr)){
        month = "09";
    }else if(!strcmp("Oct",ptr)){
        month = "10";
    }else if(!strcmp("Nov",ptr)){
        month = "11";
    }else{
        month = "12";
    }
    //年
    ptr = strtok(NULL," ");
    char * result = (char*)malloc(sizeof(char)*11);
    for(int i = 0; i < 11; i++){
        result[i] = '\0';
    }
    strcat(result, ptr);
    result[4] = '-';
    strcat(result, month);
    result[7] = '-';
    strcat(result, day);
    return result;
}

#define MAX_LEN 11

#define MONTH 12

char month[MONTH][4] = {
    "Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"
};//设置字典

char *reformatDate(char *date)
{
    char day[5] = { 0 };
    char year[5] = { 0 };
    char month_temp[4] = { 0 };
    int imonth;

    char *ans = (char*)malloc(sizeof(char) * MAX_LEN);
    //最终的答案

    sscanf(date, "%[0-9]%*[a-z] %s %s", day, month_temp, year);
    //sscanf和sprintf两个函数十分重要,需要记一下
    //这样就可以不用分割函数,直接写进去

    for (int i = 0; i < MONTH; i++) {
        if (strcmp(month_temp, &month[i]) == 0) {
            //要是月份没有匹配上,就加一,这样就可以得到数字
            imonth = i + 1;
        }
    }
    sprintf(ans, "%s-%02d-%02d", year, imonth, atoi(day));
    //sprintf的用法也要记住
    return ans;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/879359.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Kafka3.0.0版本——Broker( 退役旧节点)示例

目录 一、服务器信息二、先启动4台zookeeper&#xff0c;再启动4台kafka三、通过PrettyZoo工具验证启动的kafka是否ok四、查看4台kafka集群节点上是否存在创建的名称为news的主题五、退役旧节点5.1、执行负载均衡操作5.2、 执行停止命令5.3、再次查看kafka中的创建过的名称为ne…

单片机通讯技术应用解析:传感器数据交互、外设控制与配置等案例分析

随着科技的不断发展&#xff0c;单片机通讯技术在各个领域的应用越来越广泛。本文将从单片机通讯技术的基本原理、常见通讯方式以及应用案例等方面进行详细介绍和分析。 首先&#xff0c;我们将深入探讨单片机通讯技术的基本原理和通讯方式。单片机通讯的基本原理是通过特定的…

Element Plus报错:ResizeObserver loop completed with undelivered notifications.

el-selected踩坑&#xff1a;el-selected 显示下拉框 mouseover 时报错&#xff01;&#xff01;&#xff01; 原来是属性 popper-append-to-body 被废除&#xff0c;改为 teleported。 element ui <el-select:popper-append-to-body"false"value-key"id&q…

【无监督】2、MAE | 自监督模型提取的图像特征也很能打!(CVPR2022 Oral)

文章目录 一、背景二、方法三、效果 论文&#xff1a;Masked Autoencoders Are Scalable Vision Learners 代码&#xff1a;https://github.com/facebookresearch/mae 出处&#xff1a;CVPR2022 Oral | 何凯明 | FAIR 一、背景 本文的标题突出了两个词&#xff1a; masked…

基于 ObjectOutputStream 实现 对象与二进制数据 的序列化和反序列化

目录 为什么要进行序列化呢&#xff1f; 如何实现 对象与二进制数据 的序列化和反序列化&#xff1f; 为什么要进行序列化呢&#xff1f; 主要是为了把一个对象&#xff08;结构化的数据&#xff09;转化成一个 字符串 / 字节数组&#xff0c;方便我们存储&#xff08;有时候需…

Web安全:中间件漏洞

中间件一般指的是IIS、Apache、Nginx、Tomcat及Weblogic等一系列Web服务器中间件。中间件存在漏洞会直接威胁Web服务器代码及后台数据库的安全。 以前出现过的中间件漏洞一般是文件解析漏洞&#xff0c;例如IIS文件解析漏洞、Apache文件解析漏洞及Nginx文件解析漏洞等。如今我…

大模型时代和传统机器学习时代工具栈侧重点有所不同

大模型时代和传统机器学习时代工具栈侧重点有所不同 本章从企业训练模型、构建AI赋能应用的工作流视角出发,详解涉及的主要环节,并关注LLMOps和MLOps在流程上的侧重点差异。我们认为AI = Data + Code,历经数据准备、模型训练、模型部署、产品整合,分环节看: ► 数据准…

服务器安全防御要注意哪些方面?

服务器安全是我们每个互联网公司都应该做好的一个环节&#xff0c;每个互联网公司都会涉及到信息数据安全&#xff0c;而这些数据信息一般存放的地方都是在服务器&#xff0c;如果服务器受到破坏&#xff0c;我们的数据信息将会受到侵犯届时将会造成不可挽回的损失&#xff0c;…

三维模型OSGB格式轻量化在网络传输中的重要性探讨

三维模型OSGB格式轻量化在网络传输中的重要性探讨 随着三维模型应用的不断增加&#xff0c;网络传输成为了将三维模型从一个地方传输到另一个地方的主要方式。在网络传输中&#xff0c;数据量越大&#xff0c;传输速度就越慢&#xff0c;因此轻量化OSGB格式的三维模型数据在网络…

C#_详解浮点数类型特征

浮点数 浮点数基础 float double decimal 浮点数示例 float f; double d; decimal m;//①超过精度位数&#xff0c;数字无效 f 1234567890f; Console.WriteLine("f {0}",f);//f 1.234568E09//②再赋给更大精度度量&#xff0c;不能恢复数字 d f; Console.Write…

excel入门

上下左右移动 enter:换行&#xff0c;向下移动 shiftenter:向上移动 tab:向右移动 shifttab:向左移动 合并居中操作 开始-》合并居中 CtrlM 内容过长盖过了下一个单元格内容 双击列与列之间线 同时修改多行或者多列宽度或者高度 修改单行高度宽度 选中某一行拉取指定高…

Stable Diffusion基础:ControlNet之图片高仿效果

今天继续给大家分享AI绘画中 ControlNet 的强大功能&#xff0c;本次的主角是 Reference&#xff0c;它可以将参照图片的风格迁移到新生成的图片中&#xff0c;这句话理解起来很困难&#xff0c;我们将通过几个实例来加深体会&#xff0c;比如照片转二次元风格、名画改造、AI减…

C#字符串占位符替换

using System;namespace myprog {class test{static void Main(string[] args){string str1 string.Format("{0}今年{1}岁&#xff0c;身高{2}cm&#xff0c;月收入{3}元&#xff1b;", "小李", 23, 177, 5000);Console.WriteLine(str1);Console.ReadKey(…

一百五十三、Kettle——Linux上安装的kettle9.3启动后说缺少libwebkitgtk-1.0(真是坑爹啊,刚龟速下载又忍痛卸载)

一、问题 在kettle9.3可以在本地连接hive312后&#xff0c;在Linux中安装了kettle9.3&#xff0c;结果启动时报错WARNING: no libwebkitgtk-1.0 detected, some features will be unavailable 而且如果直接下载libwebkitgtk的话也没有用 [roothurys22 data-integration]# yu…

C#软件外包开发流程

C# 是一种由微软开发的多范式编程语言&#xff0c;常用于开发各种类型的应用程序&#xff0c;从桌面应用程序到移动应用程序和Web应用程序。下面和大家分享 C# 编程学习流程&#xff0c;希望对大家有所帮助。北京木奇移动技术有限公司&#xff0c;专业的软件外包开发公司&#…

基于灰狼算法改进深度信念网络的分类预测,gwo-dbn分类预测

目录 背影 DBN神经网络的原理 DBN神经网络的定义 受限玻尔兹曼机(RBM) 灰狼算法原理 灰狼算法改进深度信念网络的分类预测 基本结构 主要参数 数据 MATALB代码 结果图 展望 背影 DBN是一种深度学习神经网络,拥有提取特征,非监督学习的能力,是一种非常好的分类算法,本文…

【Python】进阶之 MySQL入门教程

文章目录 数据库概述Mysql概述Mysql安装与使用Navicat安装和使用Mysql终端指令操作Mysql和python交互订单管理案例实现 数据库概述 数据库的由来 发展历程说明人工管理阶段用纸带等进行数据的存储文件系统阶段数据存储在文件中数据库阶段解决了文件系统问题高级数据库阶段分布式…

生成式 AI 在泛娱乐行业的应用场景实践 – 助力风格化视频内容创作

感谢大家阅读《生成式 AI 行业解决方案指南》系列博客&#xff0c;全系列分为 4 篇&#xff0c;将为大家系统地介绍生成式 AI 解决方案指南及其在电商、游戏、泛娱乐行业中的典型场景及应用实践。目录如下&#xff1a; 《生成式 AI 行业解决方案指南与部署指南》《生成式 AI 在…

ios swift5 collectionView 瀑布流(两列)

文章目录 1.瀑布流1.1 demo地址1.2 记得把部署的最低版本由8改成11,13甚至更高。不然编译会报错 2.动态计算图片和文字的高度 1.瀑布流 1.1 demo地址 CollectionViewWaterfallLayout - github 1.2 记得把部署的最低版本由8改成11,13甚至更高。不然编译会报错 2.动态计算图片和…

Fiddler模拟请求发送和修改响应数据

fiddler模拟伪造请求 方法一&#xff1a;打断点模拟HTTP请求 1、浏览器页面填好内容后&#xff08;不要操作提交&#xff09;&#xff0c;打开fiddler&#xff0c;设置请求前断点&#xff0c;点击菜单fiddler,”Rules”\”Automatic Breakpoints”\”Before Requests” 2、在…