windows - 计算日期 -10 天

标签 windows date batch-file cmd

<分区>

我是批处理脚本的新手。目前我的文件以以下格式显示。我想要详细信息输出,其中日期应该是当前日期之前的 10 天(意味着日期 10)。目前它显示在最新日期

00000064  xxyz                 2013-06-17 14:37:11      
00000065  xxyz                 2013-06-17 14:46:15      
00000066  xxyz                 2013-06-17 14:52:34      
0000006d  xxyz                 2013-06-18 11:17:42      
0000006e  xxyz                 2013-06-18 11:29:57      
0000006f  xxyz                 2013-06-18 11:50:53      
00000070  xxyz                 2013-06-18 12:17:56      
00000074  xxyz                 2013-06-19 11:45:36      
00000001  xxyz                 2013-06-19 15:22:07      
00000002  xxyz                 2013-06-19 16:12:45      
00000003  xxyz                 2013-06-19 16:19:42      
00000006  xxyz                 2013-06-19 20:36:46      
00000008  xxyz                 2013-06-19 23:34:11      
0000000f  xxyz                 2013-06-20 10:49:38      
00000010  xxyz                 2013-06-20 10:50:59      
00000011  xxyz                 2013-06-20 10:52:29      
00000018  xxyz                 2013-06-20 15:58:24      
0000006e  xxyz                 2013-06-25 07:11:00      
0000007f  xxyz                 2013-06-26 08:55:36      
00000080  xxyz                 2013-06-26 09:08:14      
00000081  xxyz                 2013-06-26 09:28:57      
00000082  xxyz                 2013-06-26 13:49:31      
00000083  xxyz                 2013-06-26 14:00:53      
00000087  xxyz                 2013-06-27 10:00:27      
0000008b  xxyz                 2013-06-27 12:40:53      
00000091  xxyz                 2013-06-27 15:32:15      

最佳答案

你可以用 GNU 做到这一点对于 Windows:

awk -F"[-: ]+" "{print $1,$2,\"\t\t\t\",strftime(\"%F %T\",mktime($3\" \"$4\" \"$5\" \"$6\" \"$7\" \"$8)-864000)}" file
>awk -F"[-: ]+" "{print $1,$2,\"\t\t\t\",strftime(\"%F %T\",mktime($3\" \"$4\" \"$5\" \"$6\" \"$7\" \"$8)-864000)}" file
00000064 xxyz                    2013-06-07 14:37:11
00000065 xxyz                    2013-06-07 14:46:15
00000066 xxyz                    2013-06-07 14:52:34
0000006d xxyz                    2013-06-08 11:17:42
0000006e xxyz                    2013-06-08 11:29:57
0000006f xxyz                    2013-06-08 11:50:53
00000070 xxyz                    2013-06-08 12:17:56
00000074 xxyz                    2013-06-09 11:45:36
00000001 xxyz                    2013-06-09 15:22:07
00000002 xxyz                    2013-06-09 16:12:45
00000003 xxyz                    2013-06-09 16:19:42
00000006 xxyz                    2013-06-09 20:36:46
00000008 xxyz                    2013-06-09 23:34:11
0000000f xxyz                    2013-06-10 10:49:38
00000010 xxyz                    2013-06-10 10:50:59
00000011 xxyz                    2013-06-10 10:52:29
00000018 xxyz                    2013-06-10 15:58:24
0000006e xxyz                    2013-06-15 07:11:00
0000007f xxyz                    2013-06-16 08:55:36
00000080 xxyz                    2013-06-16 09:08:14
00000081 xxyz                    2013-06-16 09:28:57
00000082 xxyz                    2013-06-16 13:49:31
00000083 xxyz                    2013-06-16 14:00:53
00000087 xxyz                    2013-06-17 10:00:27
0000008b xxyz                    2013-06-17 12:40:53
00000091 xxyz                    2013-06-17 15:32:15

每 10 天的秒数 = 864000

关于windows - 计算日期 -10 天,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17436734/

相关文章:

jquery - 如何根据之前的输入限制页面中 'date'类型的输入?

java - Java 日历类中不影响其他对象的静态变量

batch-file - 通过批处理命令禁用 cmd 关闭按钮

python - 如何使用 psexec 在远程计算机上执行 python 脚本?

windows - 如何发送控制 C node.js 和 child_processes

windows - git EOL 以相反的方式转换? (尽管 .gitattributes)

sql - 使用 SAS 或 SQL 查找一行中的第一个和最后一个非空值?

git - "' git ' is not recognized as an internal"blah blah 即使命令第一次运行

c - Turbo C 和批处理文件

c++ - exe 可以小于其最大的声明缓冲区吗?