__TIME__与__DATE__的拼接

本文介绍如何利用预处理宏 __TIME__ 和 __DATE__ 获取C/C++源文件最近一次编译的时间和日期。通过实例展示如何组合这两个宏来记录编译信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

char* time = __TIME__ " "__DATE__ ;

char buildSTR[]=__DATE__"--"__TIME__;



        则time 值为该源文件最近一次编译的时间和日期,如18:10:14 Mar 16 2011

        如果去掉中间的空格字符  __TIME__ __DATE__  则为18:10:14Mar 16 2011

 

### 如何使用 `DATE_FORMAT` `date_format` 获取整点时间 在数据库操作中,如果需要获取某个时间的整点值(即分钟秒都设置为0),可以利用 `DATE_FORMAT` 或者 Hive 中的 `date_format` 函数实现。 #### MySQL 的 `DATE_FORMAT` 对于 MySQL 数据库中的 `DATE_FORMAT` 函数,其主要功能是对日期或时间字段按照指定格式进行字符串转换。为了得到整点时间,可以通过组合 `%Y-%m-%d %H:00:00` 来忽略掉分钟秒钟部分[^1]: ```sql SELECT DATE_FORMAT(NOW(), '%Y-%m-%d %H:00:00') AS 整点时间; ``` 上述 SQL 查询会返回当前时间对应的整点时间,其中小时保留不变,而分秒均被重置为 0。 #### Hive 的 `date_format` 当涉及到大数据平台如 Apache Hive 时,则需采用不同的方法来达到相同目的。由于 Hive 使用 Java 的 `SimpleDateFormat` 实现了它的 `date_format` 方法,因此可以根据需求定义相应的模式串[^2]。然而需要注意的是,在标准情况下直接调用该函数无法单独控制每一分量的具体数值;所以一般先提取出所需的组件再重新拼接成最终形式更为常见一些: ```sql CONCAT(SUBSTR(date_format(current_timestamp, 'yyyy-MM-dd HH:mm:ss'), 1, 14), ':00') ``` 这里通过截取前十四位字符(年月日及时),再加上固定的 ":00" 字符串完成整个过程[^3]。 另外一种方式是在应用层面上做更多预处理工作或者借助其他工具比如 SparkSQL 等扩展能力更强的语言环境来进行复杂变换运算。 ### 示例代码展示 以下是两种环境下分别使用的例子: **MySQL** ```sql -- 假设有一个表 test_table 包含列 event_time 存储具体发生时刻 SELECT DATE_FORMAT(event_time, '%Y-%m-%d %H:00:00') FROM test_table; ``` **HiveQL** ```sql -- 同样假设存在一张名为 hive_test 表并有 timestamp 类型字段 log_time SELECT CONCAT(SUBSTRING(date_format(log_time,'yyyy-MM-dd HH:mm:ss'),1,14),':00') FROM hive_test; ``` 以上两段脚本展示了如何从原始数据集中抽取只精确到小时级别的记录集合。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值