Chinaunix首页 | 论坛 | 博客
  • 博客访问: 236486
  • 博文数量: 50
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 533
  • 用 户 组: 普通用户
  • 注册时间: 2015-07-28 21:56
个人简介

活着,寻找生存。

文章分类

全部博文(50)

文章存档

2017年(1)

2016年(20)

2015年(29)

我的朋友

分类: Python/Ruby

2015-11-23 17:56:52

    随机生成某年365/366天日期,格式要求为YYYYMMDD形式;

  这里通过python实现:
  MacBook-Pro:learning_python ora$ vi date.py
#!/usr/bin/env python
#coding=utf-8
import sys, time, random
from time import localtime
from datetime import datetime


def time_to_second(time_str):
    time_format = datetime.strptime(time_str, '%Y-%m-%d')
    return int(time.mktime(time_format.timetuple()))


def second_to_time(second_str):
    return time.strftime('%Y-%m-%d', localtime(second_str))


def main():
    if len(sys.argv) != 3:
        print 'Usage: %s \n' \
              'Example: %s 2015-01-01 2015-11-11' % (sys.argv[0], sys.argv[0])
        exit(-1)
    start_time = sys.argv[1]
    stop_time = sys.argv[2]
    start_second = time_to_second(start_time)
    stop_second = time_to_second(stop_time)
    random_second = random.randrange(start_second, stop_second)
    print second_to_time(random_second)


if __name__ == '__main__':
    main()



给date.py文件赋权:
 
chmod 755 date.py

执行效果:

MacBook-Pro:learning_python ora$ ./date.py 2015-01-01 2015-11-11
2015-07-09


如果想生成一个列表呢:

    for i in range(7):

        random_second = random.randrange(start_second, stop_second)

        print second_to_time(random_second)


random_second前面加一个for循环就好了。


阅读(1436) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~