Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5352311
  • 博文数量: 1144
  • 博客积分: 11974
  • 博客等级: 上将
  • 技术积分: 12312
  • 用 户 组: 普通用户
  • 注册时间: 2005-04-13 20:06
文章存档

2017年(2)

2016年(14)

2015年(10)

2014年(28)

2013年(23)

2012年(29)

2011年(53)

2010年(86)

2009年(83)

2008年(43)

2007年(153)

2006年(575)

2005年(45)

分类: LINUX

2007-06-20 15:32:47

Perl+Perlapp+tcl/tk=Windows小程序 :)

今天一个朋友问我怎么把一串数字的时间(其实就是unixtime啦)转换成我们看得懂的时间,我习惯性的扔一句过去:这是unix timestr嘛,转一下就出来了嘛。可是面对一个unix盲,上述语言完全白搭。刚开始,随便google一下,找到一个网站提供转换服务,但是国外网站——转出来是格林威治时间。算了,好人做到底吧,帮人家写一个,反正也很简单~
先用c写了一个
#include
#include
#include
void main(int argc, char *argv[])
{
 struct tm time;
 char *str = argv[1];
 const long tmstr = atol(str);
 time = *localtime(&tmstr);
 printf("%d-%02d-%02d %02d:%02d:%02d\n",time.tm_year+1900,time.tm_mon+1,time.tm_mday,time.tm_hour,time.tm_min,time.tm_sec);
}
简单可以用了。(编译出来130多k,还是不小啊!)
突然想到perl也可以在windows下用,又用perl写了一个
while(1) {
print "Please input a unixtime string: ";
my $read=<> ;
print localtimeStr($read) , "\n\n";
}
sub localtimeStr
{
   #usage: localtimeStr(time);
   my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime($_[0]);
   my $dateStr = ($year + 1900) . "-"
      . (($mon + 1) < 10 ? "0" . ($mon + 1) : ($mon + 1)) . "-"
      . ($mday < 10 ? "0" . $mday : $mday) . " "
      . ($hour < 10 ? "0" . $hour : $hour) . ":"
      . ($min < 10 ? "0" . $min : $min) . ":"
      . ($sec < 10 ? "0" . $sec : $sec);
   return ($dateStr);
}
朋友那肯定没有安装activeperl,于是想到编译。用perlcc编译,总是不成功(在linux下可以通过,不过编译出来个头快到1M了);于是想到activestate公司的perlapp,它可以在windows下编译perl程序。下了一个pdk6.0.1,安装好一编译就成功了,输出文件500多k,用起来还不错,呵呵,就把perl版的发给朋友了。
在windows下编译成功,一下子激起兴趣,正好网上有一个人用perl配合tcl/tk在windows下作了一个代理服务器验证的工具。于是我准备看一下tcl模块的dd,试试在windows下做一些图形的小软件,倒也不错,呵呵。
阅读(2755) | 评论(0) | 转发(0) |
0

上一篇:学用expect模块

下一篇:autoexpect介绍

给主人留下些什么吧!~~