当前位置:网站首页>uniapp uview uselect 时间选择 日期生成代码
uniapp uview uselect 时间选择 日期生成代码
2022-08-09 03:13:00 【阿里巴巴首席技术官】
需求, 时间需要显示当前日期往后 小时显示今天的之后的小时 , 分钟显示 00 / 15 / 30 /45
最终效果如下

代码
/**
* 获取未来天数列表
*
* @param dayCount 获取未来几天?
* @returns {*[]} 未来天数列表
*/
function getFutureDays(dayCount) {
if (dayCount <= 1) {
throw new Error("getFutureDays参数 dayCount最少指定一天");
}
// 一天的时间
let oneDayTime = 24 * 60 * 60 * 1000;
let list = []
for (let i = 0; i < dayCount; i++) {
let lastDay = new Date(new Date().getTime() + i * oneDayTime);
let year = lastDay.getFullYear();
let month = lastDay.getMonth() + 1;
let day = lastDay.getDate()
if (month < 10) month = '0' + month;
if (day < 10) day = '0' + day;
let labelTime = month + '月' + day + '日';
let valueTime = year + '-' + month + '-' + day;
let label = {label: labelTime, value: valueTime}
list.push(label)
}
list[0].label += " (今天)";
if (dayCount > 1) {
list[1].label += " (明天)";
}
if (dayCount > 2) {
list[2].label += " (后天)";
}
return list;
}
/**
* 获取今天的小时列表
*/
function getTodayHourList() {
// 当前小时(24制)
let currentHour = new Date().getHours();
// 剩余小时个数
let hourCount = 24 - currentHour;
let list = [];
for (let i = 1; i < hourCount; i++) {
let label = {label: currentHour+i + '点', value: currentHour+i}
if (i < 10) {
label.value = '0' + label.value
}
list.push(label);
}
return list;
}
/**
* 获取一天的小时列表
* @returns {*[]} 一天的小时列表
*/
function getHourList(){
let list = [];
for (let i = 0; i < 24; i++) {
let label = {label: i + '点', value: i}
if (i < 10) {
label.value = '0' + label.value
}
list.push(label);
}
return list;
}
/**
* 获取分钟列表
*/
function getMinutesList() {
return [
{label: '00分', value: 0},
{label: '15分', value: 15},
{label: '30分', value: 30},
{label: '45分', value: 45}
]
}
/**
* 获取下单需要的时间列表
*/
export function getCreateOrderTimeList(){
// 获取的天数
let dayCount = 15;
// 1.获取天数
let dayList = getFutureDays(dayCount);
// 3.获取分钟
let minutes = getMinutesList();
// 组装数据
for (let i = 0; i < dayList.length; i++) {
dayList[i].children = i === 0 ? getTodayHourList() : getHourList();
let tempHourList = dayList[i].children;
for (let j = 0; j < tempHourList.length; j++) {
tempHourList[j].children = minutes;
}
}
return dayList;
}使用方式 直接调用此方法
getCreateOrderTimeList();返回值放入u-select上的list属性上即可!
边栏推荐
- flatMap() :对每个元素执行映射函数并将结果展平
- dice和iou
- 加密公司集体裁员 以应对加密寒冬和通货膨胀?现加密总市值低于1万亿美元
- 手把手教你实现buffer(三)——接口及自动扩容
- Redis expiration strategy and elimination strategy
- Redis中SDS简单动态字符串
- Day021 图书管理系统(对象和数组)
- 2022-08-08 The fifth group Gu Xiangquan study notes day31-collection-IO stream-File class
- 23 Lectures on Disassembly of Multi-merchant Mall System Functions-Platform Distribution Level
- 浅聊一下那些营销工具—优惠券
猜你喜欢

智能计数器控制板的功能及应用有哪些?

深度学习:优化器

Zabbix 5.0 监控教程(五)

【机器学习】21天挑战赛学习笔记(三)

马斯克被因狗狗币被索赔2580亿美元 操纵价格牟利?狗狗币已下跌92%

Deep learning - in the recognition, for example, this paper discusses how to preserve the neural network model

下秒数据CEO蔡致暖受邀参加联合数据举办《数据要素加速跑》线上沙龙

数据库工具DataGrip V2022.2正式发布——支持导入多个 CSV 文件的选项

关于eBPF与可观测性,你想知道的都在这里

2022微服务面试题 最新50道题(含答案解析)
随机推荐
Cholesterol-PEG-Maleimide,CLS-PEG-MAL,胆固醇-聚乙二醇-马来酰亚胺用于科研实验
01| 数据类型
嵌入式系统驱动高级【2】——平台总线式驱动开发上_基础框架
Shell脚本:正则表达式
数学基础(三)PCA原理与推导
hcip MPLS 实验
以赛促练-力扣第84场双周赛反思以及第305场周赛补题
C专家编程 第9章 再论数组 9.4 数组片段的下标
权限系统就该这么设计(万能通用),稳的一批!
Cyanine5tetrazine(CAS号:1427705-31-4)结构式原理
net core 读取sqlserver所有表转为json
dice和iou
qt字符串之 QString详解
JSON的使用
书签收藏难整理?这款书签工具管理超方便
sql语句实现按顺序排序而不是拼音首字母排序
Oracle并行检索
C专家编程 第10章 再论指针 10.1 多维数组的内存布局
C专家编程 第9章 再论数组 9.1 什么时候数组与指针相同
多商户商城系统功能拆解23讲-平台端分销等级