精华内容
下载资源
问答
  • 展开全部最简单的就是2113直接调用系统命令cal,比如:5261import osyear = 2014os.system("cal -y %s" % year)2014January February MarchSu Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th F...

    展开全部

    最简单的就是2113直接调用系统命令cal,比如:5261import os

    year = 2014

    os.system("cal -y %s" % year)2014

    January February March

    Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

    1 2 3 4 1 1

    5 6 7 8 9 10 11 2 3 4 5 6 7 8 2 3 4 5 6 7 8

    12 13 14 15 16 17 18 9 10 11 12 13 14 15 9 10 11 12 13 14 15

    19 20 21 22 23 24 25 16 17 18 19 20 21 22 16 17 18 19 20 21 22

    26 27 28 29 30 31 23 24 25 26 27 28 23 24 25 26 27 28 29

    30 31

    April May June

    Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

    1 2 3 4 5 1 2 3 1 2 3 4 5 6 7

    6 7 8 9 10 11 12 4 5 6 7 8 9 10 8 9 10 11 12 13 14

    13 14 15 16 17 18 19 11 12 13 14 15 16 17 15 16 17 18 19 20 21

    20 21 22 23 24 25 26 18 19 20 21 22 23 24 22 23 24 25 26 27 28

    27 28 29 30 25 26 27 28 29 30 31 29 30

    July August September

    Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

    1 2 3 4 5 1 2 1 2 3 4 5 6

    6 7 8 9 10 11 12 3 4 5 6 7 8 9 7 8 9 10 11 12 13

    13 14 15 16 17 18 19 10 11 12 13 14 15 16 14 15 16 17 18 19 20

    20 21 22 23 24 25 26 17 18 19 20 21 22 23 21 22 23 24 25 26 27

    27 28 29 30 31 24 25 26 27 28 29 30 28 29 30

    31

    October November December

    Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa Su Mo Tu We Th Fr Sa

    1 2 3 4 1 1 2 3 4 5 6

    5 6 7 8 9 10 11 2 3 4 5 6 7 8 7 8 9 10 11 12 13

    12 13 14 15 16 17 18 9 10 11 12 13 14 15 14 15 16 17 18 19 20

    19 20 21 22 23 24 25 16 17 18 19 20 21 22 21 22 23 24 25 26 27

    26 27 28 29 30 31 23 24 25 26 27 28 29 28 29 30 31

    30

    如果解决了您的问题请采纳4102!

    如果未1653解决请继续追问

    展开全文
  • 今天我们一起写一个微信小程序日历组件好,我们先看一下要实现的模样,如下图由以上截图我们可以看到1.日历可以通过按钮【切换展示效果】改变日历的呈现效果,上图是平铺模式,下图是收起滚动模式。2.通过点击具体的...

    今天我们一起写一个微信小程序日历组件

    好,我们先看一下要实现的模样,如下图

    1460000019056318

    1460000019056319

    由以上截图我们可以看到

    1.日历可以通过按钮【切换展示效果】改变日历的呈现效果,上图是平铺模式,下图是收起滚动模式。

    2.通过点击具体的日期可以在页面上显示当前选中的具体日期。

    3.点击【今天】快速回到当日视图。

    4.点击【◀】和【▶】切换月份。

    上面的四点也是基本的交互需求,我们马上开始。

    首先,我们先结构后样式,做出最基本的界面结构

    这边我们把整体结构分成上中下,操作显示区,星期显示区,日期显示区。

    {{lastMonth}}

    {{title}}

    {{nextMonth}}

    今天

    {{item}}

    {{item}}

    {{item.date}}

    {{item}}

    这是我们基本的日历结构,机智的小伙伴已经从布局中知道我们实现的大致逻辑了,是的,我们先获取当月有多少天,上月和下月有多少天,这样我们的日历就出来了。好,慢慢来,下面我们详细说,我们先写上基本的样式。

    .calendar {

    width: 100%;

    text-align: center;

    font-size: 30rpx;

    box-sizing: border-box;

    }

    /* 标题 */

    .calendar-title {

    line-height: 70rpx;

    font-size: 30rpx;

    text-align: left;

    padding: 0 20rpx;

    box-sizing: border-box;

    }

    .calendar-title .ctrl {

    display: inline-block;

    padding: 0 20rpx;

    background: #f5f5f5;

    border-radius: 10rpx;

    }

    .calendar-title .item {

    display: inline-block;

    vertical-align: middle;

    line-height: 50rpx;

    }

    .calendar-title .title {

    min-width: 300rpx;

    text-align: center;

    }

    .calendar-title .today {

    float: right;

    margin-top: 10rpx;

    }

    /* 星期 */

    .calendar-week {

    display: flex;

    text-align: center;

    padding: 20rpx 10rpx;

    box-sizing: border-box;

    border-top: 1rpx solid #e0e0e0;

    border-bottom: 1rpx solid #e0e0e0;

    background: #f5f5f5;

    }

    .calendar-week .item {

    flex: 1;

    }

    /* 日期 */

    .calendar-container {

    display: flex;

    flex-wrap: wrap;

    padding: 20rpx 10rpx;

    box-sizing: border-box;

    }

    .calendar-container .grid {

    display: inline-block;

    width: 14.28571428571429%;

    line-height: 70rpx;

    position: relative;

    z-index: 1;

    }

    .calendar-container .grid.gray {

    color: #ccc;

    }

    .calendar-container .grid .wrap.select {

    background: rgb(49, 120, 228);

    border-radius: 10rpx;

    color: #fff;

    width: 80%;

    margin: 0 auto;

    }

    以上我们基本试下了日历的界面,下面我们来实现星期和日期的展示。

    好,我们先显示星期,我们先在组件中定义一个数组,用来遍历显示星期的标题;

    Component({

    properties: {

    //星期数组

    weekText: {

    type: Array,

    value: ['周日', '周一', '周二', '周三', '周四', '周五', '周六']

    }

    },

    ...

    })

    我们将星期的标题定义为可配置的模式,默认显示如上的文字,之后我们可以在组件外自定义,个性化显示。于是我们调整下wxml的代码。

    {{item}}

    这样我们就能看到我们想要的效果。

    1460000019056320

    下面我们开始日期的显示,我们先获取当月有几天,这里的核心代码是

    new Date(year, month, date).getDate();

    由此我们做如下尝试

    1460000019056321

    我们如期获得了返回值,而当我们传入日期为0时返回了31为当月的全部天数。

    由于JavaScript中day的范围为1~31中的值,所以当设为0时,会向前 一天,也即表示上个月的最后一天,通过这种方式可以得到每个月份的天数。

    知道了获取当月天数的原理,我们还需要知道当月1号是星期几。

    我们使用如下的方法:

    new Date(Date.UTC(year, month-1, date)).getDay();

    ![http://www.w3school.com.cn

    ](https://upload-images.jianshu...

    我们同样在控制台做出调试;

    1460000019056322

    需要注意的是,上面的month是实际的月份,而下面这个方法需要在实际的月份上减去1。

    于是我们获取0-6之间的值,分别对应周日~周六。

    值为6是周六,值为0是周日。

    由于日历的第一天是周日,周日对应的是0,于是传入每月1日,返回值为多少,就是星期几,也就说明当月1日前面空几格。

    知道了当月就几天,当月前面有几天,我们做一下算法就可以得出,当月后面有几天,于是我们建立如下函数:

    // 组件的初始数据

    data: {

    //当月格子

    thisMonthDays: [],

    //上月格子

    empytGridsBefore: [],

    //下月格子

    empytGridsAfter: [],

    },

    methods: {

    //获取当月天数

    getThisMonthDays: function (year, month) {

    return new Date(year, month, 0).getDate();

    },

    // 绘制当月天数占的格子

    createDays: function (year, month) {

    let thisMonthDays = [],

    days = this.getThisMonthDays(year, month);

    for (let i = 1; i <= days; i++) {

    thisMonthDays.push({

    date: i,

    dateFormat: this.zero(i),

    monthFormat: this.zero(month),

    week: this.data.weekText[new Date(Date.UTC(year, month - 1, i)).getDay()]

    });

    }

    this.setData({

    thisMonthDays

    })

    },

    //获取当月空出的天数

    createEmptyGrids: function (year, month) {

    let week = new Date(Date.UTC(year, month - 1, 1)).getDay(),

    empytGridsBefore = [],

    empytGridsAfter = [],

    emptyDays = (week == 0 ? 7 : week);

    //当月天数

    var thisMonthDays = this.getThisMonthDays(year, month);

    //上月天数

    var preMonthDays = month - 1 < 0

    ? this.getThisMonthDays(year - 1, 12)

    : this.getThisMonthDays(year, month - 1);

    //空出日期

    for (let i = 1; i <= emptyDays; i++) {

    empytGridsBefore.push(preMonthDays - (emptyDays - i));

    }

    var after = (42 - thisMonthDays - emptyDays) - 7 >= 0

    ? (42 - thisMonthDays - emptyDays) - 7

    : (42 - thisMonthDays - emptyDays);

    for (let i = 1; i <= after; i++) {

    empytGridsAfter.push(i);

    }

    this.setData({

    empytGridsAfter,

    empytGridsBefore

    })

    },

    //补全0

    zero: function (i) {

    return i >= 10 ? i : '0' + i;

    },

    }

    我们同样修改下wxml代码,同时我们为上月,下月,今天,三个按钮添加相关事件监听。

    {{lastMonth}}

    {{title}}

    {{nextMonth}}

    今天

    {{item}}

    {{item.date}}

    {{item}}

    相关的事件监听:

    //默认选中当天 并初始化组件

    today: function () {

    let DATE = this.data.defaultValue ? new Date(this.data.defaultValue) : new Date(),

    year = DATE.getFullYear(),

    month = DATE.getMonth() + 1,

    date = DATE.getDate(),

    select = year + '-' + this.zero(month) + '-' + this.zero(date);

    this.setData({

    format: select,

    select: select,

    year: year,

    month: month,

    date: date,

    YEAR: year,

    MONTH: month,

    DATE: date,

    })

    //初始化日历组件UI

    this.display(year, month, date);

    //发送事件监听

    this.triggerEvent('select', select);

    },

    //上个月

    lastMonth: function () {

    let month = this.data.month == 1 ? 12 : this.data.month - 1;

    let year = this.data.month == 1 ? this.data.year - 1 : this.data.year;

    //初始化日历组件UI

    this.display(year, month, 0);

    },

    //下个月

    nextMonth: function () {

    let month = this.data.month == 12 ? 1 : this.data.month + 1;

    let year = this.data.month == 12 ? this.data.year + 1 : this.data.year;

    //初始化日历组件UI

    this.display(year, month, 0);

    },

    代码中我们使用this.display(year, month, 0)为组件统一初始化;

    同时在today函数中我们添加事件监听函数,将选中的日期发送到页面,我们通过事件订阅来获取的相关值。

    //组件监听事件

    select(e) {

    this.setData({

    selectVal:e.detail

    })

    },

    最后我们为切换显示效果的按钮添加事件:

    toggleType(){

    this.selectComponent('#Calendar').toggleType();

    }

    组件中对应的方法,每当切换展示效果,组件都需要初始化

    //切换展示

    toggleType(){

    this.setData({

    toggleType: this.data.toggleType == 'mini' ? 'large' :'mini'

    })

    //初始化日历组件UI

    this.display(this.data.year, this.data.month, this.data.date);

    },

    以上基本上是小程序日历组件实现的基本逻辑,介于篇幅太长还有很多实现上的细节不在此一一细说,大家可以移步我的github

    上文中有不足之处,请给出建议或更优的实现方案,谢谢~

    最后祝大家五一快乐~~

    展开全文
  • put in into your project’s directory or run python setup.py install to install system-wide. REQUIREMENTS: python-vobject (comes with most distribution as a package). Settings.py REQUIRED INSTALLED_...

    Django-schedule

    A calendaring/scheduling application, featuring:

    one-time and recurring events

    calendar exceptions (occurrences changed or cancelled)

    occurrences accessible through Event API and Period API

    relations of events to generic objects

    ready to use, nice user interface

    view day, week, month, three months and year

    project sample which can be launched immediately and reused in your project

    See see wiki page for more.

    Installation

    Download the code; put in into your project’s directory or run

    python setup.py install to install system-wide.

    REQUIREMENTS: python-vobject (comes with most distribution as a package).

    Settings.py

    REQUIRED

    INSTALLED_APPS – add:

    ‘schedule’

    TEMPLATE_CONTEXT_PROCESSORS – add:

    “django.core.context_processors.request”

    Optional

    FIRST_DAY_OF_WEEK

    This setting determines which day of the week your calendar begins on if your locale doesn’t already set it. Default is 0, which is Sunday.

    OCCURRENCE_CANCEL_REDIRECT

    This setting controls the behavior of :func:`Views.get_next_url`. If set, all calendar modifications will redirect here (unless there is a `next` set in the request.)

    SHOW_CANCELLED_OCCURRENCES

    This setting controls the behavior of :func:`Period.classify_occurence`. If True, then occurences that have been cancelled will be displayed with a css class of canceled, otherwise they won’t appear at all.

    Defaults to False

    CHECK_PERMISSION_FUNC

    This setting controls the callable used to determine if a user has permission to edit an event or occurance. The callable must take the object and the user and return a boolean.

    Default:

    check_edit_permission(ob, user):

    return user.is_authenticated()

    If ob is None, then the function is checking for permission to add new events

    GET_EVENTS_FUNC

    This setting controls the callable that gets all events for calendar display. The callable must take the request and the calendar and return a `QuerySet` of events. Modifying this setting allows you to pull events from multiple calendars or to filter events based on permissions

    Default:

    get_events(request, calendar):

    return calendar.event_set.all()

    展开全文
  • Turtle模块绝对是吸引非专业代码开发者学习Python入门的好工具,通过turtle几行代码的执行软件就会画出漂亮的图形,美观而且有成就感。这些漂亮的图形如三角形、五角星、机器猫等。在写代码的时候改变几个参数,就...

    Turtle模块绝对是吸引非专业代码开发者学习Python入门的好工具,通过turtle几行代码的执行软件就会画出漂亮的图形,美观而且有成就感。这些漂亮的图形如三角形、五角星、机器猫等。在写代码的时候改变几个参数,就可以产生新的奇怪形状。aa4be23e4aac88acd39b204aec2153436ae85c1b.jpg

    首先:

    import turtle

    import datetime,time

    注意: 定义画线or不画线函数

    t=turtle.Turtle()

    t.speed(1)

    注意:速度慢

    t.screen.delay(0)

    t._tracer(False)

    注意:不显示绘图过程

    l = 20,要标注:线的长度

    def DrawLine(draw):

    global l

    if draw:

    t.forward(l)

    else:

    t.penup()

    t.forward(l)

    t.pendown()

    定义绘制函数,数码管的7笔画

    def DrawDigit(digit):

    DrawLine(True) if digit in (2, 3, 4, 5, 6, 8, 9) else DrawLine(False)

    t.right(90)

    DrawLine(True) if digit in (0, 1, 3, 4,5, 6, 7, 8, 9) else DrawLine(False)

    t.right(90)

    DrawLine(True) if digit in (0, 2, 3, 5, 6, 8, 9) else DrawLine(False)

    t.right(90)

    DrawLine(True) if digit in (0, 2, 6, 8) else DrawLine(False)

    DrawLine(True) if digit in (0, 4,5, 6, 8, 9) else DrawLine(False)

    t.right(90)

    DrawLine(True) if digit in (0, 2, 3, 5, 6, 7, 8, 9) else DrawLine(False)

    t.right(90)

    DrawLine(True) if digit in (0, 1, 2, 3, 4, 7, 8, 9) else DrawLine(False)

    t.right(90)

    t.penup()

    t.right(180)

    t.fd(20)

    t.pendown()

    汉字的输出函数,操作如下:

    def write_data(s):

    global l

    t.right(90)

    t.penup()

    t.forward(l)

    t.pencolor((1,0,0))

    t.write(s, font=("C:\\windows:\\font:\\msyh.ttl", "30"))

    t.forward(-l)

    t.left(90)

    t.forward(2*l)

    t.pd()

    t.color((0, 0, 0))

    定义绘制函数,操作如下:

    def Draw(data):

    x=data.split(“ “)

    s=[“年”,”月”,”日”,”时”,”分”,”秒”]

    for I in range(0,6):

    for digit in x[i]:

    digit = int(digit)

    DrawDigit(digit)

    write_data(s[i])

    定义主函数,操作如下:

    def main():

    t.reset()

    t.penup()

    t.forward(-400)

    t.pendown()

    获取时间数据,引入时间"%Y %m %d %H %M %S"

    Draw(datetime.datetime.now().strftime("%Y %m %d %H %M %S"))

    调用主函数

    while True:

    main()

    注意:t.screen.mainloop()

    time.sleep(1)

    结果显示:

    e4aa677082e4af8165500317f4719199a0e28300.gif

    展开全文
  • """日历的前提是已知1900年1月1日是星期一 按照时间向后推 出现现在的日历"""# 判断年是否是闰年def is_leap(year):return year % 4 == 0 and year % 100 != 0 or year % 400 == 0# 获取指定月的天数def get_days...
  • 查看: 14785|回复: 262[作品展示]python写的日历程序电梯直达发表于 2013-8-19 21:38:32|只看该作者|倒序浏览|阅读模式马上注册,结交更多好友,享用更多功能^_^您需要 登录 才可以下载或查看,没有帐号?...
  • Python 程序显示日历Python具有内置函数,calendar可以处理与日期相关的任务。在此示例中,您将学习显示给定日期的日历。要理解此示例,您应该了解以下Python编程主题:在下面的程序中,我们导入calendar模块。模块...
  • 下面用几个简单的题目来巩固一下所学:输出1到100之间所有的偶数输出1到100之间所有的奇数输出1-2+3-4+…+99-100的和用户登录三次重试在写程序之前应注意一个知识点:在Python里面对于缩进有严格的控制,同属于一个...
  • python日历打印

    2018-10-09 16:12:45
    python日历打印代码,利用python实现简单的日历输出,适合新手入门学习。
  • 我们正在尝试在python中创建日历函数.我们创建了一个小型的内容管理系统,要求是,网站的右上角会有一个下拉列表,它会给出选项 – 月 – 1个月,2个月,3个月等等. ..,如果用户选择8个月,那么它应该显示过去8个月的...
  • python编写万年日历

    千次阅读 2019-02-14 15:57:53
    你只需要运行这段代码,结果就出来了,不用重复造轮子,这次才是使用python的真谛。 # -*- coding: utf-8 -*- """ Created on Tue Feb 12 13:58:08 2019 @author: tking """ import re import math import ...
  • python程序输出日历

    2019-09-20 21:34:55
    这是我们这学期第一次Python上机课老师给我们布置的作业之一,为了更加容易...本次上机课要求是:输入一个年份和月份,输出这个年的月份的对应日历(必须可以看出输入月份的每个日期对应星期几)。 完整代码如下:...
  • python 编写输出日历详细解析

    万次阅读 多人点赞 2018-04-08 22:28:21
    python编写万年历,输入某一年某一月,显示这个月的日历 运行如下:主要是思想和方法,代码不是那么的完美,因此不足之处敬请见谅。我将它分成三个板块分别是 年、月、周。你可能会有疑问,不是是“年月日”么,为...
  • 试试这个:from ...所以我做的是从__init__()本身获取这些变量的输入,所以在程序开始时,它会要求一个月和一年。之后,我简单地将它作为参数传递给create_widget(),然后在monthrange()中使用。还添加了mainloop
  • 利用python基础编写简单的日历

    千次阅读 2017-10-29 23:41:48
    首先要理清楚逻辑,日历的难点在于如何使用基础知识将周几与对应的日期进行对应,我这里利用了1917年1月1日为星期1,计算累计到我们要查询的月份的天数来确定所查询月份的第一天为周几.# 输出日历界面print("*" * 50) ...
  • 【纯文本教程】大学专科的Python基础开发课——【实训项目】打印某年日历用Python打印某年日历项目目标:日历程序可以打印出任何一年的日历,程序运行后输入一个年份,例如2017,或者是2020,打印出全年的日历,示例...
  • 两行Python日历 这次,我将介绍如何使用Python轻松创建桌面日历。您可以使用Python日历模块轻松地输出日历。...让我们编写一个显示日历的两行程序。启动Python随附的IDLE shell,然后输入以下两行。 ...
  • python日历

    2014-12-18 22:23:16
    基于python环境,一个可以写出1900年后年份日历的小程序
  • django-schedule:日历/日程安排应用程序,
  • python输出指定月份日历的方法本文实例讲述了python输出指定月份日历的方法。分享给大家供大家参考。具体实现方法如下:#!/usr/bin/pythonimport calendarcal = calendar.month(2008, 1)print "Here is the calendar...
  • MM-dd HH:mm:ss") #设置日期可以使用日历插件 self.time.setCalendarPopup(True) #根据PyQt方法获取系统的当前时间 #now = QtCore.QDateTime.currentDateTime() #now_time = now.toString(QtCore.Qt.ISODate) #将...
  • 日历(Calendar)模块 此模块的函数都是日历相关的,例如打印某月的字符月历。 星期一是默认的每周第一天,星期天是默认的最后一天。 更改设置需调用calendar.setfirstweekday()函数。模块包含了以下内置函数: ...
  • #include"stdio.h"voidmain(){intn,y;printf("请输入年月:");scanf("%d%d",&n,y);if((y%4==0)&&(y%100!=0)||(y%400==0))switch(y){case2:printf("29天");break;case1:case3:case5:cas...#include"stdio.h"void main...
  • python一年月份To print the calendar of any year, we will use the calendar module in the program by using the import function. A valid year is provided by the user and we have to print the calendar. ...
  • 主要为大家详细介绍了基于python实现简单日历,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • C语言中的栈和堆原文出处 栈内存由编译器分配和释放,堆内存由程序分配和释放. ...ThinkPHP整合支付宝担保交易ThinkPHP整合支付宝担保交易本代码参考大神 http://www.thinkphp.cn/code/240.html 的思路 1.登陆支付宝...
  • 原博文2017-12-22 14:34 −内置函数.../usr/bin/python import calendar print calendar.month(2017,12) 输出: December 2017 Mo Tu We Th Fr Sa Su 1 2 3 4 5 6 7 8 9 10 1...相关推荐2019-12-09 08:03 −Impl...
  • python制作日历

    2020-02-29 00:05:15
    写一个函数用来打印通用日历表,即对任何给定的年和月份,能按下图正确打印对应的日历表: 代码如下: def is_leap_year(year): if year % 4 == 0 and year%100!=0 or year % 400 == 0: return True else: ...
  • python编写万年历

    千次阅读 2020-07-24 17:49:45
    python编写万年历方法与从、java大同小异,难点在于如何计算星期几。下面是万年历的python代码: ''' 万年历:输入一个年份,再输入一个月份,把那个月的日历打印出来。 (1900年1月1日是星期一)。 ''' year=int...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,426
精华内容 1,770
关键字:

python日历程序编写

python 订阅