首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >awk: mktime返回-1

awk: mktime返回-1
EN

Stack Overflow用户
提问于 2012-03-19 23:16:32
回答 1查看 8.6K关注 0票数 2

谁能告诉我为什么mktime会在下面的代码中返回"-1“?谢谢。

代码语言:javascript
复制
#!/usr/local/bin/bash
f_name="crap.stat"
S_Date="2012-02-10"
E_Date="2012-02-13"

gawk -F '\t' -v s_date="$S_Date" -v e_date="$E_Date" 'BEGIN {s_time = mktime(s_date);e_time = mktime(e_date);print s_time, e_time}' $f_name
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-19 23:26:05

您必须为该函数使用特定的格式。这里修复了你的代码:

代码语言:javascript
复制
#!/usr/local/bin/bash
f_name="crap.stat"
S_Date="2012-02-10"
E_Date="2012-02-13"

gawk -F '\t' -v s_date="$S_Date" -v e_date="$E_Date" '
  BEGIN { 
    gsub( /-/, " ", s_date ); 
    s_date = s_date " " 00 " " 00 " " 00; 
    s_time = mktime(s_date);
    gsub( /-/, " ", e_date ); 
    e_date = e_date " " 00 " " 00 " " 00;
    e_time = mktime(e_date);
    print s_time, e_time
  }
' $f_name

结果:

代码语言:javascript
复制
1328828400 1329087600

它必须是下一种格式:YYYY MM DD HH MM SS[ DST],所以我用空格替换-,并在时间后加上零。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9772764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档