niapp中的日歷組件需要用到開始時間和結束時間,這個時間是字符串形式的,如'2021-01-21'。
組件網址:https://ext.dcloud.net.cn/plugin?id=56
我的需求是得到7天前到現在日期的字符串形式,即
startDate: '2021-11-04'',
endDate: '2021-11-11',
上代碼:
Date.prototype.format=function(fmt) {
var o={
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小時
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
"S": this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt)) {
fmt=fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
}
for (var k in o) {
if (new RegExp("(" + k + ")").test(fmt)) {
fmt=fmt.replace(RegExp.$1, (RegExp.$1.length==1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k])
.length)));
}
}
return fmt;
}
//N天時間戳,時間戳指從1970-01-01 0點開始到某天的毫秒數
function timestamp(days) {
return days * 24 * 60 * 60 * 1000
}
//幾天前,一般以現在的時間為基準,參數默認值老的瀏覽器可能不支持。
function days_ago(day, base_time=Date.now()) {
return new Date(base_time - timestamp(day))
}
//最常用的今天、昨天、明天,返回時間戳
function yesterday(){
return days_ago(1)
}
function tomorrow(){
return days_ago(-1)
}
function today(){
return new Date()
}
///字符串格式化的日期,英文常用,如2021-01-01
function en_format(func){
return func.format('yyyy-MM-dd')
}
function en_today(){
return en_format(today())
}
function en_yesterday(){
return en_format(days_ago(1))
}
function en_tomorrow(){
return en_format(days_ago(-1))
}
function cn_format(func){
return func.format('yyyy年MM月dd日')
}
//中文版今天,如2020年02月22日
function cn_today(){
return cn_format(today())
}
//中文版昨天,如1949年10月01日
function cn_yesterday(){
return cn_format(days_ago(1))
}
//中文版明天,如2035年09月09日
function cn_tomorrow(){
return cn_format(days_ago(-1))
}
cn_today()
'2021年11月10日'
cn_tomorrow()
'2021年11月11日'
cn_yesterday()
'2021年11月09日'
en_today()
'2021-11-10'
en_tomorrow()
'2021-11-11'
en_yesterday()
'2021-11-09'
en_format(days_ago(7))
'2021-11-03'
代碼還能再精簡,不過于我是已經夠用了。
我是@愛玩的安哥,關注我獲取更多有用知識
編程世界中,Python是一種廣泛使用的高級編程語言,其簡單易學的特點吸引了眾多初學者。Python提供了許多內置模塊和庫,其中之一就是calendar模塊。在 Python 中,我們已經學習了datetime,time等處理時間跟日期的模塊。今天我們來學習下calendar 模塊,calendar 為我們提供了處理日期、時間和日歷的功能。它可以幫助我們生成日歷,管理日期,并執行一些基本的日期計算。讓我們一起深入了解 calendar 模塊的基本用法和功能。
一. 導入 calendar 模塊
import calendar
二. 基本用法
1.獲取指定年份的日歷
>>> import calendar
>>> year_calendar=calendar.TextCalendar(calendar.SUNDAY)
>>> year=2023
>>> print(year_calendar.formatyear(year))
這個例子展示了如何使用 TextCalendar 類來獲取指定年份的日歷,并使用 formatyear() 方法格式化輸出。
2.獲取指定月份的日歷
>>> month_calendar=calendar.TextCalendar(calendar.SUNDAY)
>>> year=2023
>>> month=12
>>> print(month_calendar.formatmonth(year, month))
formatmonth() 方法用于獲取指定年份和月份的日歷。
3. 獲取一個月的天數
calendar.monthrange(year, month) 是一個Python內置函數,用于返回指定年份和月份的日歷信息。它返回一個包含兩個元素的元組,第一個元素是指定月份的第一天是星期幾(0表示星期一,6表示星期日),第二個元素是指定月份的總天數
>>> import calendar
>>> month=calendar.monthrange(2023, 12)[1]
>>> print(month)
31
獲取指定月份第一天是星期幾
>>> import calendar
>>> first=calendar.monthrange(2023, 12)[0]
>>> print(first)
4
4. 實際應用場景
calendar 模塊在日程管理、日期操作、特定日期的計算等方面有著廣泛的應用。比如在日歷應用、計劃任務、會議安排等領域。
5. 注意事項
calendar 模塊提供了一些常用的方法來處理日期和日歷,但并不包含所有的日期處理功能。
注意 firstweekday 參數,它指定了一周的起始日,默認為星期一。
總結
calendar 模塊是 Python 中處理日歷和日期的強大工具,提供了生成日歷、管理日期和執行日期計算的功能。通過了解其基本用法和方法,你可以更好地處理日期和日歷相關的操作。
更多用法參考官方文檔
https://docs.python.org/3/library/calendar.html?highlight=calendar
劃每一天教學設計
教學目標:
1.讓學生了解日歷的三種分類方式https://www.shimengyuan.com/nianji/719.html。
2.了解日歷的作用。
3.通過手工制作掛歷,學會發現美、發明美。
教學重難點:
重點:學會制作日歷、知道日歷的用處。
難點:制作日歷的美觀性和實用性的結合。
準備工作: 教師:卡紙、剪刀、彩色筆、膠水、各種手工制的掛歷等。
學生:卡紙、剪刀、彩色筆、膠水等。
https://www.renjiaoshe.com/jiaocai/384.html
教學過程:
一、激趣導入
1. 出示龜兔賽跑動畫短片,師生欣賞。
2. 思考:兔子為什么輸給烏龜?指名學生回答。
3. 引入課題。
4. 板書課題,學生齊讀課題。
二、新授
1. 指名回答:如何規劃自己的一天。
2. 提問。平時用什么方式了解日期。
3. 出示日歷圖片,詢問名稱。
4. 介紹日歷分類方式
(1)出示日歷、月歷、周歷、年歷圖片,詢問分類依據。
(2)出示橫式日歷和豎式日歷,介紹日歷第二種分類方式。
(3)以圖片引導學生思考,介紹第三種分類方式。
5. 介紹日歷的用處。
6. 出示優秀學生作品。
7. 出示要求,學生自讀,小組合作制作賀卡。
8. 指名學生評價已完成的作品。
三、教師總結
1. 這一節課你學到了什么?
2. 小結:本課已接近尾聲,通過這節課的學習,我們了解了日歷的三種分類方式和日歷的作用。課后希望同學們認真觀察生活,養成發現美、發明美的習慣。
3. 布置作業
自己制作一張賀卡。
板書設計:
第13課 規劃每一天
時間長短:日歷 周歷 月歷 年歷
排列方式:橫式 豎式
圖 案 :動物 植物 人物等
教學反思:
隨著科技水平的提高,人們通過手機,電腦等現代工具獲取日期信息,臺歷,掛歷日漸退居二線。 本節課可利用制作掛歷這一討論活動引起學生對時間概念的思考,激起學生規劃自己的時間的念頭,并激起學生的創作欲望。 通過學生分享交流自己制作的掛歷,教師補充和總結,讓學生對掛歷更有興趣。然后,通過欣賞大量風格迥異的管理圖片或實物,拓展學生的想象空間,使其設計思路更加開闊。 教學中,只需要提醒學生把握好掛歷的結構特點,,而對表現形式不必進行過多限制,這讓學生創作時才不感覺拘束。
*請認真填寫需求信息,我們會在24小時內與您取得聯系。