记录cu上shell比赛的第6题:输入日期,打印天数

简介:

 本篇博客记录cu上shell比赛的第六题:输入一个日期,然后程序打印出这个日期是这一年的第几天,然后再打印出昨天的日期是多少:

   这个脚本还是十分容易的,我直接上脚本吧:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
[root@centos6 shellbisai] # cat 6.py
#coding=utf-8
#!/usr/bin/env python
import  datetime
import  sys
def  describe():
         print   """
此脚本需要您输入一个日期,运行格式如下:
python script.py 2013-9-20
脚本会显示您输入的这一年的第几天
同时,脚本还将打印昨天是哪一天
     """
def  check():
         if  len (sys.argv) ! =  2  :
#               describe()
                 print  "Script will be exit..."
                 sys.exit()
         else :
           try :
                 inday = str (sys.argv[ 1 ])
#print inday
                 formatDay = datetime.datetime( int (inday.split( '-' )[ 0 ]), int (inday.split( '-' )[ 1 ]), int (inday.split( '-' )[ 2 ]), 0 , 0 , 0 , 0 )
                 resultNo = formatDay.timetuple().tm_yday
                 print  inday  +  "是这一年的第"  +  str (resultNo)  +  "天"
           except  Exception:
                 sys.exit()
         print  "==========================="
         today = datetime.date.today()
         year = today.year
         month = today.month
         day = today.day  -  1
         print  "昨天的日期是: "  +  str (year)  +  "-"  +  str (month)  +  "-"  +  str (day)
if  __name__  = =  "__main__" :
         describe()
         check()

下面看看效果,直接上图:

215525152.gif

215525354.gif


  效果还是不错吧,一开始脚本中没加异常处理,后来加上异常处理就可以马马虎虎了,哈哈。。

本文转自你是路人甲还是霍元甲博客51CTO博客,原文链接http://blog.51cto.com/world77/1249947如需转载请自行联系原作者


world77

相关文章
|
2月前
|
算法 Unix Shell
【Shell 命令集合 系统管理 】Linux 显示或设置系统时间和日期 date命令 使用指南
【Shell 命令集合 系统管理 】Linux 显示或设置系统时间和日期 date命令 使用指南
41 0
|
2月前
|
网络协议 安全 Shell
【Shell 命令集合 系统设置 】Linux 从远程时间服务器获取当前日期和时间 rdate命令 使用指南
【Shell 命令集合 系统设置 】Linux 从远程时间服务器获取当前日期和时间 rdate命令 使用指南
46 0
|
11月前
|
应用服务中间件 Shell nginx
shell获取指定日期的nginx日志
shell获取指定日期的nginx日志
119 0
|
12月前
|
存储 应用服务中间件 Shell
shell+定时任务+nginx信号管理实现日志按日期切割存储
shell+定时任务+nginx信号管理实现日志按日期切割存储
|
SQL Shell Linux
LInux shell 编写记录-日期9月判断中遇到shell默认八进制计算
很高兴能开始是新的知识点,我在使用sh 运行hive脚本以后才发现不知不觉的时候我已经开始使用shell了。。。
112 0
LInux shell 编写记录-日期9月判断中遇到shell默认八进制计算
|
SQL Shell Linux
LInux shell 编写记录-日期9月判断中遇到shell默认八进制计算
很高兴能开始是新的知识点,我在使用sh 运行hive脚本以后才发现不知不觉的时候我已经开始使用shell了。。。
69 0
LInux shell 编写记录-日期9月判断中遇到shell默认八进制计算
|
Shell
shell编程之花式打印九九乘法表
1、使用for循环 九九乘法表:
305 0
|
Shell
shell编程之双重循环(教你花式打印各种图形)(下)
1、双重循环概述 双重循环需要具备的前提——存在两个以上的自变量。 执行机制:
240 0
|
Shell
shell编程之双重循环(教你花式打印各种图形)(上)
1、双重循环概述 双重循环需要具备的前提——存在两个以上的自变量。 执行机制:
579 0
|
Unix Shell Perl
shell脚本如何优雅的打印帮助信息
一个好的帮助信息对于快速、高效的使用shell脚本是非常有好处的。我们一般通过echo来逐行打印帮助信息,这种方式一个明显的缺点就是需要手动去进行排版,而排版的过程有时十分的繁琐。有没有想过,如果可以像写一般的注释一样来完成帮助信息的编写,那该多好啊!本文通过sed这个工具来实现,像写注释一样写shell的帮助信息。
567 0