吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4312|回复: 57
收起左侧

[原创工具] excel表格 批量时间生成工具

  [复制链接]
li962905857 发表于 2026-4-1 11:33
本帖最后由 li962905857 于 2026-4-7 09:06 编辑

使用ahk2编写  不能过天 只能生成当天的时间 有需要自取 也可自行修改
之前忘记说使用场景了  这里做个补充  由于有时我做表格上交需要填写时间要精确到秒,
以前都一个个的改,后来用按键精灵写了一个 最后用ahk2做的这个  
生成后直接复制到使用的表格内。 对有用的来说很实用,没用的看看就行了 啥用没有
主要就是填写表格内时间的


程序自动获取当前时间,可自行更改,填写个数为生成多少个时间,每次时间为累加状态,累加时间随机,随机数程序上有写(秒)点击生成并导出会在程序根目录 生成csv文件内为时间

https://wwata.lanzouv.com/iGoh03m324qb




1.png


2.png


可以自定义间隔时间的
https://wwata.lanzouv.com/ipzFZ3mmnn0j
密码:4r7u












Requires AutoHotkey v2.0.21+

SingleInstance Force

; 主GUI创建
MainGUI := Gui("-MinimizeBox +LastFound", "批量生成工具")
MainGUI.SetFont("s10", "微软雅黑")

; 1. 时间输入框(默认当前时间,格式:YYYY-MM-DD HH:mm:ss)
MainGUI.Add("Text", "x20 y20 w80 h25", "时间:")
CurrentTime := FormatTime(, "yyyy-MM-dd HH:mm:ss")  ; 获取当前系统时间并格式化
timeInput := MainGUI.Add("Edit", "x100 y20 w200 h25", CurrentTime)
timeInput.ToolTip := "请输入有效的时间,格式:YYYY-MM-DD HH:mm:ss"

; 2. 个数输入框
MainGUI.Add("Text", "x20 y60 w80 h25", "个数:")
countInput := MainGUI.Add("Edit", "x100 y60 w200 h25", "")
countInput.ToolTip := "请输入正整数"

; 3. 生成按钮
generateBtn := MainGUI.Add("Button", "x100 y100 w100 h30", "生成并导出")
generateBtn.OnEvent("Click", GenerateAndExport)

; 调整GUI大小并居中显示
MainGUI.Show("w350 h150 Center")
return

; 生成并导出核心函数(仅递增时分秒,无ByRef,无语法错误)
GenerateAndExport(*) {
; 获取输入框内容
inputTime := timeInput.Value
inputCount := countInput.Value

; 输入验证
if !IsValidTime(inputTime) {
    MsgBox("时间格式错误!请按照 YYYY-MM-DD HH:mm:ss 格式输入", "错误", "0x10")
    timeInput.Focus()
    return
}
if !IsInteger(inputCount) || inputCount < 1 {
    MsgBox("个数必须是正整数!", "错误", "0x10")
    countInput.Focus()
    return
}

; 拆分起始时间:分离日期和时分秒(日期固定不变)
timeParts := StrSplit(inputTime, " ")
datePart := timeParts[1]  ; 提取日期部分(YYYY-MM-DD)
hmsPart := timeParts[2]   ; 提取时分秒部分(HH:mm:ss)

; 拆分时分秒为数值
hmsSplit := StrSplit(hmsPart, ":")
hour := hmsSplit[1] + 0
min := hmsSplit[2] + 0
sec := hmsSplit[3] + 0

; 构造CSV格式内容(首行是表头)
outputContent := "时间,序号`n"

Loop (inputCount) {
    ; 格式化当前时分秒(补零确保格式统一)
    currentHms := Format("{:02d}:{:02d}:{:02d}", hour, min, sec)
    ; 拼接日期+当前时分秒,写入CSV
    currentTimeStr := datePart . " " . currentHms
    outputContent .= currentTimeStr . "," . A_Index . "`n"

    ; 最后一行不需要递增
    if (A_Index < inputCount) {
        ; 生成X到Y之间的随机秒数
        randomSeconds := Round(Random(62, 135))
        ; 调用函数获取递增后的时分秒(返回数组,无ByRef)
        newHMS := AddSecondsToHMS(randomSeconds, hour, min, sec)
        hour := newHMS[1]
        min := newHMS[2]
        sec := newHMS[3]
    }
}

; 导出到脚本所在文件夹(CSV格式,UTF-8带BOM适配Excel)
scriptPath := A_ScriptDir
fileName := "生成结果_" . FormatTime(, "yyyyMMddHHmmss") . ".csv"
fullPath := scriptPath . "\" . fileName

try {
    FileAppend(outputContent, fullPath, "UTF-8-RAW")
    MsgBox("CSV文件生成成功!`n文件路径:" . fullPath, "成功", "0x40")
} catch as err {  
    MsgBox("生成失败:" . err.Message, "错误", "0x10")
}

}

; 时间格式验证函数(仅验证格式)
IsValidTime(timeStr) {
; 正则匹配 YYYY-MM-DD HH:mm:ss 格式
regexPattern := "^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$"
if !RegExMatch(timeStr, regexPattern) {
return false
}
return true
}

; 辅助函数:累加秒数并返回新的时分秒(返回数组,彻底移除ByRef)
AddSecondsToHMS(secondsToAdd, hour, min, sec) {
; 累加秒数
sec += secondsToAdd

; 处理秒→分进位
if (sec >= 60) {
    min += Floor(sec / 60)
    sec := Mod(sec, 60)
}

; 处理分→时进位(仅到小时,不处理天)
if (min >= 60) {
    hour += Floor(min / 60)
    min := Mod(min, 60)
}

; 返回新的时分秒数组
return [hour, min, sec]

}

3.png

免费评分

参与人数 4吾爱币 +10 热心值 +3 收起 理由
风之暇想 + 7 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
CSTNJY + 1 =TEXT(TODAY(),&amp;quot;yyyy-mm-dd&amp;quot;)&amp;amp;&amp;quot; &amp;quot;&amp;amp;TEXT(RANDB
461735945 + 1 + 1 用心讨论,共获提升!
cjcmxc + 1 + 1 我很赞同!

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

cgbchen 发表于 2026-4-1 19:57
需要这么复杂么?
直接按 “Ctrl+;”,就是日期,按 “Ctrl+Shift+;”,就是时间,按 “Ctrl+;”+“空格”+“Ctrl+Shift+;”,就是日期加时间,都是当前的静态时间。
Excel当中很多年前就内置好的~
yc80 发表于 2026-4-1 11:45
宜城小站 发表于 2026-4-1 12:51
owenzhou999 发表于 2026-4-1 12:43
有用 谢谢
xjzhangjun 发表于 2026-4-1 12:46
干啥用的?
sunnyonepiece 发表于 2026-4-1 13:09
11111111111111
782878952 发表于 2026-4-1 13:15
这个软件做什么的时候可以用到?
wincoy 发表于 2026-4-1 13:19
这个好,非常实用
wudichen3344 发表于 2026-4-1 13:19
使用一下,看看这个周末使用
samniboy 发表于 2026-4-1 13:23
这个有啥作用?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-5-24 19:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表