DDR爱好者之家 Design By 杰米
前言
相信大家都知道日期格式处理在前端的日常任务中非常常见,但是为此引入monent.js这样的类库又会显得有点臃肿,毕竟我们一个特定的项目中,并不需要monent.js那么全的涵盖范围。另外,如果现在公司让你自己手写一个日历组件(月历、周历),日历组件中需要耦合我们的其他业务需求,如果有一个任务列表,当11月22号的待进行任务,我需要在日历上有一个绿色圆点,表示当天有待办事项。
下面介绍一些常规的函数,希望对大家有用。
月历效果图
函数目录
- getFormatDateStr 获得指定日期格式的字符串;
- getDayPrevAfter 获得n天前/后的日期;
- formatDateWithTimeZone 格式化日期带时区,ISO 8601;
- countDownBySecond 倒计时;
- monthSize 获得指定日期所在月的天数;
- getCalendarMonth 获得指定日期所在月的第一周到第四/五周的数据组合;
- getOneDateWeekIndex 获得指定的某天所在该月的第几周,下标从0开始;
下面是详细的说明:
getFormatDateStr
/** * [zeroPadding 小于10的数字补0,必填] * @param {[Int]} value [description] * @return {[String]} [description] */ export function zeroPadding(value){ return value < 10 "htmlcode">/** * [getDayPrevAfter 获得n天前/后的日期] * @param {[String]} date [日期,非必填参数,表示调用时的时间] * @param {[String]} type [前一天还是后一天,非必填参数,默认后一天] * @param {[Int]} daysNum [天数,非必填参数,默认一天] * @return {[Date]} [description] */ export function getDayPrevAfter(date, type, daysNum) { date = date "htmlcode">/** * [formatDateWithTimeZone 格式化日期带时区,ISO 8601] * @param {[Date]} date [日期,非必填参数,表示调用时的时间] * @return {[String]} [ISO 8601格式的日期,example: 2016-11-21T14:09:15+08:00] */ export function formatDateWithTimeZone(date) { date = date "htmlcode">/** * [countDownBySecond 倒计时] * @param {[Int]} restSeconds [剩余秒数,必填] * @param {[Int]} timeInterval [时间间隔,非必填,默认1000ms] * @param {[Function]} func [每倒计时一次,就需要执行一次的回调函数名,非必填] * @param {[Function]} endFun [倒计时结束需要执行的函数名,非必填] * @return {[null]} [无返回值] */ export function countDownBySecond(restSeconds, timeInterval, func, endCallback) { let timer = null; let total = restSeconds; timeInterval = timeInterval "htmlcode">/** * [monthSize 获得指定日期所在月的天数] * @param {[Date]} oDate [指定的日期,非必填,默认为当天] * @return {[Int]} [总天数] */ function monthSize(oDate) { oDate = oDate "htmlcode">/** * [getCalendarMonth 获得指定日期所在月的第一周到第四/五周的数据组合,形如: * [{ "date": "2016/10/30", //日期字符串 "dateNum": 30, //日 "isCurMonth": false, //是否当前月 "weekIndex": 0 //是本月的第几周,下标从0开始 },{ "date": "2016/10/31", "dateNum": 31, "isCurMonth": false, "weekIndex": 0 },{ "date": "2016/11/1", "dateNum": 1, "day": 2, "isCurMonth": true, "isToday": false, "weekIndex": 0 }] ] * @param {[Date]} param [指定的日期,非必填,默认为当天] * @return {[Array]} [获得指定日期所在月的第一周到第四/五周的数据组合] */ export function getCalendarMonth(date) { date = date "htmlcode">/** * [getOneDateWeekIndex 获得指定的某天所在该月的第几周,下标从0开始] * @param {[Date]} date [指定的日期,非必填,默认为当天] * @return {[Int]} [在该月的第几周] */ export function getOneDateWeekIndex(date) { date = date "color: #ff0000">总结以上就是这篇文章的全部内容了,用上面的函数就能够实现日期格式转换,倒计时,自定义月历等常规的需要,希望对大家的学习或者工作能有一定的帮助,如果有疑问大家可以留言交流。
DDR爱好者之家 Design By 杰米广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!DDR爱好者之家 Design By 杰米暂无评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。
更新日志
2024年11月28日
2024年11月28日
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]