You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在kdb q中将日期格式从yyyy.mm.dd转换为Mmm-yy

在Kdb+ Q中将日期转换为"Mmm-yy"格式

问题描述

现有kdb q表:

([] date: 2023.09.09 2024.07.01 2027.02.06)

需要将表中日期转换为Mmm-yy格式(如Sept-23、Jul-24),预期转换结果如下:

date
Sept-23
Jul-24
Feb-27

解决方案

可以通过提取月份缩写和年份后拼接的方式实现,代码如下:

  1. 定义原表:
t:([] date: 2023.09.09 2024.07.01 2027.02.06)
  1. 执行转换操作:
update date: (4#each string`month$date),"-",2#each string 100 xmod year date from t

代码解释

  • stringmonth$date:将日期转换为对应月份的全称(如2023.09.09转为"September"`)
  • 4#each ...:截取月份全称的前4个字符,得到Sept、Jul这类符合预期的缩写
  • 100 xmod year date:提取年份的后两位(如2023转为23)
  • 2#each string ...:确保年份始终为两位格式
  • 通过,"-"将月份缩写和年份拼接,得到目标格式

执行结果

q)update date: (4#each string`month$date),"-",2#each string 100 xmod year date from t
date
-------
Sept-23
Jul-24
Feb-27

内容的提问来源于stack exchange,提问作者Dhanuushri

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 07:10:58