uniapp picker多列选择器定义年月日时分秒组件

uniapp 小程序 picker 日期时间段选择(精确到年月日时分+周几) 阅读详情

dateTimePicker.js

/**
 * 自定义多列时间选择器
 */
function withData(param) {
  return param < 10 ? '0' + param : '' + param;
}
function getLoopArray(start, end) {
  var start = start || 0;
  var end = end || 1;
  var array = [];
  for (var i = start; i <= end; i++) {
    array.push(withData(i));
  }
  return array;
}
function getMonthDay(year, month) {
  var flag = year % 400 == 0 || (year % 4 == 0 && year % 100 != 0), array = null;
 
  switch (month) {
    case '01':
    case '03':
    case '05':
    case '07':
    case '08':
    case '10':
    case '12':
      array = getLoopArray(1, 31)
      break;
    case '04':
    case '06':
    case '09':
    case '11':
      array = getLoopArray(1, 30)
      break;
    case '02':
      array = flag ? getLoopArray(1, 29) : getLoopArray(1, 28)
      break;
    default:
      array = '月份格式不正确,请重新输入!'
  }
  return array;
}
function getNewDateArry() {
  // 当前时间的处理
  var newDate = new Date();
  var year = withData(newDate.getFullYear()),
    mont = withData(newDate.getMonth() + 1),
    date = withData(newDate.getDate()),
    hour = withData(newDate.getHours()),
    minu = withData(newDate.getMinutes()),
    seco = withData(newDate.getSeconds());
 
  return [year, mont, date, hour, minu, seco];
}
function dateTimePicker(startYear, endYear, date) {
  // 返回默认显示的数组和联动数组的声明
  var dateTime = [], dateTimeArray = [[], [], [], [], [], []];
  var start = startYear || 2000;
  var end = endYear || 2100;
  // 默认开始显示数据
  var defaultDate = date ? [...date.split(' ')[0].split('-'), ...date.split(' ')[1].split(':')] : getNewDateArry();
  // 处理联动列表数据
  /*年月日 时分秒*/
  dateTimeArray[0] = getLoopArray(start, end);
  dateTimeArray[1] = getLoopArray(1, 12);
  dateTimeArray[2] = getMonthDay(defaultDate[0], defaultDate[1]);
  dateTimeArray[3] = getLoopArray(0, 23);
  dateTimeArray[4] = getLoopArray(0, 59);
  dateTimeArray[5] = getLoopArray(0, 59);
 
  dateTimeArray.forEach((current, index) => {
    dateTime.push(current.indexOf(defaultDate[index]));
  });
 
  return {
    dateTimeArray: dateTimeArray,
    dateTime: dateTime
  }
}
/**格式化日期 */
function generateTimeStr(dateTimeArray, dateTime) {
  const timeStr =
    dateTimeArray[0][dateTime[0]] +
    "-" +
    dateTimeArray[1][dateTime[1]] +
    "-" +
    dateTimeArray[2][dateTime[2]] +
    " " +
    dateTimeArray[3][dateTime[3]] +
    ":" +
    dateTimeArray[4][dateTime[4]] +
    ":" +
    dateTimeArray[5][dateTime[5]];
  return timeStr;
}
module.exports = {
   dateTimePicker,
   getMonthDay,
   generateTimeStr
};
//export default {
//  dateTimePicker: dateTimePicker,
//  getMonthDay: getMonthDay,
//  generateTimeStr: generateTimeStr,
//};

uniapp页面中引用

<picker mode="multiSelector" :value="dateTime" @change="changeDateTime"  @columnchange="changeDateTimeColumn" :range="dateTimeArray">
	<view class='lableBox' style='margin-top:40rpx;'>
		<view class="otherCheck">{{timeStr}}</view>
	</view> 
</picker>
 
 
<script>
	const { dateTimePicker,getMonthDay,generateTimeStr} = require('../../untils/dateTimePicker.js');
	export default {
		data() {
			return {
				dateTime: null,
				dateTimeArray: null,
				startYear: 2000,
                timeStr:''
			}
		},
		onLoad() {
			this.initTime()
		},
		methods: {
			initTime(){
				let date = new Date();
				let endYear = date.getFullYear();
				// 获取完整的年月日 时分秒,以及默认显示的数组
				let obj = dateTimePicker(this.startYear, endYear);
				// 精确到分的处理,将数组的秒去掉
				// let lastArray = obj.dateTimeArray.pop();
				// let lastTime = obj.dateTime.pop();
 
				this.dateTimeArray=obj.dateTimeArray
				this.dateTime=obj.dateTime
			},
			changeDateTime(e) {
			    this.dateTime = e.detail.value;
                this.timeStr= generateTimeStr(this.dateTimeArray,this.dateTime);
                //ios时间不能用'-'解析成时间戳
			 },
            /*年,月切换时重新更新计算*/
			changeDateTimeColumn(e) {
				//let {id} = e.target;
				let {column,value} = e.detail;
				if(column==0 || column==1){
                    //直接修改数组下标视图不更新,用深拷贝之后替换数组
					let dateTime = JSON.parse(JSON.stringify(this.dateTime));
                    let dateTimeArray = JSON.parse(JSON.stringify(this.dateTimeArray));
					dateTime[column] = value;
					dateTimeArray[2] = getMonthDay(dateTimeArray[0][dateTime[0]], dateTimeArray[1][dateTime[1]]);
                    this.dateTime = dateTime;
                    this.dateTimeArray = dateTimeArray;
				}
			},
		}
	}
</script>

参考:https://blog.youkuaiyun.com/Arbort_/article/details/109485133

uniapp——基于picker实现年月日时分秒选择器 需求 想通过时间筛选的方式,查看对应时间短的数据。为了更精准的比对,因此需要时间确切到秒的筛选。 涉及的技术点 uniapp类型为mode = multiSelector的多列选择器picker ios时间不能用'-'解析成时间戳 javascript Date对象的使用 代码实现 在ios上'-'没法被解析为时间戳的解决方案,使用正则将'-'替换为'/'。安卓,pc端,ios端均可适配。 代码如下: //解决ios中不能用'-'解析成时间戳问题 let dateStr = '2021-0 阅读详情

相关推荐

uniapp [全端兼容] - 实现带选项日期时间选择器功能组件,页面底部弹出时间日期选择插件弹框式(可自由配置年月日时分秒,UniApp日期时间,全端兼容小程序、安卓苹果app、h5网页、nvue)

uni-app,h5移动端网页,微信小程序,支付宝小程序,Android安卓,苹果ios,app,nvue,日期选择器,uniAPP日期选择插件,日期时间选择器,年月日选择器,时间选择器,插入式时间选择器,弹框时间选择器,弹出式年月日选择组件,年月日时分秒,可配置,uniapp小程序时间选择器,app端日期时间选择,h5网页日期时间弹框选择器,uni-app日期 时间选择器,从底部弹起的滚动选择器,uniapp时间选择器(月份选择、区间时间选择,可插槽元素,Uniapp实现时间选择器,uni-app时间选择

🏆 前端领域优质创作者 5279

uniapp的 picker 日期时间选择器

uniapp的 picker 日期时间选择器

m0_52611940的博客 6483

uniapp - 详细实现日期时间、范围选择器组件,点击底部弹出日期、时间、某个范围的选择器弹框(日期选择组件 单日/日期范围,uniapp自定义选择日、周、月、季、年的时间选择器详细示例源代码)

uniapp,微信小程序,h5网页网站,安卓苹果app,日期时间选择器,日历两个范围选择,日期选择器,时间选择器,年月日选择,小时分钟选择,uniapp日期时间及范围选择器,uniapp时间选择器_uniapp时间范围选择器,uniapp、小程序自定义选择日、周、月、季、年的时间选择器,uniapp的picker日期选择器使用及获取当天日期(时间),uniapp开发微信小程序之时间选择器,uniapp中picker-view封装时,分,秒选择组件,日期选择器picker(uni-app),uniapp的

🏆 前端领域优质创作者 2万+

uni-app - 日期 · 时间选择器

从底部弹起的滚动选择器。支持五种选择器,通过mode来区分,分别是普通选择器,多列选择器,时间选择器,日期选择器,省市区选择器,默认是普通选择器。当选择时间和日期的时候会默认直接展示当前的时间和当天的日期。

weixin_54721820的博客 1万+

uniapp - 实现日期选择器(年月日)组件,兼容 H5、App、小程序,提供组件源码可直接复制运行!

uniapp日期选择器,uniapp兼容h5小程序app的年月日选择器功能组件,uniapp日期选择组件插件源码,uniapp日期选择弹框示例代码,uniapp年月日的日期选择器组件,uniapp日期选择器(年月日),Uniapp实现了日期选择器,uniapp实现日期选择效果,uni-app 自定义选择日期,uniapp实现日期的选择,uni-app中组件picker的日期选择器,uniapp里怎么做日期选择功能,uniapp如何实现选择日期的弹框,uniapp不引组件库怎么实现日期选择,uniapp日期组

✅ 精选推荐文章 6019

uniapp开发的年月日时分秒选择器实现指南

在现代移动应用开发领域,uniapp作为一种跨平台的开发框架,已经成为许多开发者构建应用的首选工具。uniapp基于Vue.js,它能够让你仅用一套代码就能编译到iOS、Android、Web以及各种小程序等多个平台。这一特性大大缩短了开发周期,并降低了维护成本,提升了开发效率。picker组件作为uniapp中的核心组件之一,广泛用于实现选择器功能,例如日期选择、时间选择、省市区选择等。它提供了一种简单直观的交互方式,允许用户通过滚动选择列表项,从而选择需要的数据。

weixin_30995917的博客 1245

uniapp多列选择器定义年月日时分秒组件

dateTimePicker.js /** * 自定义多列时间选择器 */ function withData(param) { return param < 10 ? '0' + param : '' + param; } function getLoopArray(start, end) { var start = start || 0; var end = end || 1; var array = []; for (var i = start; i <= en

Arbort 4876

UView 时间选择器源代码修改,增加可选‘年’、‘年-月-日-时’的功能更

下载后直接替换原本的代码即可

uniapp vue3 封装picker时间选择器 年月日时分秒

1、因为在uniapp中并没有完整的年月日时分秒,所以需要自己写一个组件常用。confirmPickDate 在其他方法是改变后数据。用组件ref调用open(val) 是默认赋值回显。2、 封装好的组件实际效果。

m0_61382303的博客 1979

从零开始VCS+Verdi 安装过程

从零开始VCS+Verdi 安装及破解过程 主要参考:VCS+Verdi 安装及破解过程(CentOS7)-----FPGA开发 1. 安装文件结构 –vcs-mx_vL-2016.06 –verdi_vL-2016.06-1 –scl_v11.9 #此程序统一管理license等破解文件 –SynopsysInstaller.rar #此程序用于安装以上3个程序 –sc...

Ztrans的博客 2万+

45个经典Linux面试题(非常详细)零基础入门到精通,收藏这一篇就够了

(文件系统分配其中的一些磁盘块用来记录它自身的一些数据,如 i 节点,磁盘分布图,间接块,超级块等。$ chmod 751 file 给 file 的属主分配读、写、执行(7)的权限,给 file 的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限。linux命令’hash’管理着一个内置的哈希表,记录了已执行过的命令的完整路径, 用该命令可以打印出你所使用过的命令以及执行的次数。创建文件:典型的如 touch,vi 也可以创建文件,其实只要向一个不存在的文件输出,都会创建文件。

小陈的博客 2070

uniapp基于picker选择器实现年月日时分秒

通过时间筛选的方式,查看对应时间短的数据。为了更精准的比对,因此需要时间确切到秒的筛选。

qq_36158551的博客 552

CANoe信号波形分析保姆级教程:Graphic窗口从配置到实战避坑

本文详细解析了CANoe的Graphic窗口在信号波形分析中的高效配置与实战应用技巧。从信号显示模式选择、测量光标进阶操作到信号分组策略,提供工程化解决方案,帮助工程师快速定位总线信号异常,提升汽车电子开发与测试效率。

weixin_29279047的博客 267

uniapp实现年月日时分秒选择器

一个前端日期时间选择器的Vue组件实现代码。该组件支持多级选择器,可精确到秒,包含年份(1900-2100)、月份、日期、小时、分钟和秒的选择功能,并实时格式化显示所选时间。代码结构完整,包含模板、脚本和样式三部分

weixin_52726621的博客 791

【Coze搞钱实战】14. 抖音直播间自动回复机器人实战教程:三小时搭建智能客服,互动率提升150%(保姆级无代码指南)

摘要:抖音直播间高频问题重复回复、观众互动不及时是运营痛点。本文针对新手和进阶用户,提供无代码的自动回复机器人搭建方案:新手1小时完成基础配置(Coze+抖音对接),进阶用户通过促销倒计时、粉丝分层、热点借势三大策略提升互动率150%。方案基于某女装直播间实测数据(日UV 5W+),所有工具免费获取,步骤拆解到分钟级,附避坑指南与效果验证(某案例互动率从8%升至20%),读者可直接套用配置模板,无需代码基础即可落地。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2459

C#客户端对接工厂MES的方法

本文介绍了使用C#实现WebApi客户端与工厂MES系统交互的方法。主要包括四个步骤:1)配置工控机IP地址;2)获取服务器URL;3)创建HttpHelper帮助类实现单例模式HttpClient,提供异步POST请求方法;4)通过实例化帮助类实现设备状态数据的JSON格式发送与接收。该方案采用异步通信方式,支持超时处理,能够满足大多数MES系统交互需求,帮助工程师快速完成设备与MES系统的数据对接。文中给出了核心代码片段和完整的数据交互流程示例。

weixin_39832501的博客 265

uniapp——基于picker实现年月日时分秒选择器deno效果(整理)

uniapp——基于picker实现年月日时分秒选择器deno效果

在北风吹起的时候加入我们的队伍 在秋雨到来的时候成为彼此的温暖 3111

SpringBoot4.0+JDK25+GraalVM实战:云原生新纪元,微服务性能翻倍的落地指南

三者的组合不是偶然,而是“框架优化+JDK升级+虚拟机革新”的必然结果——SpringBoot4.0完善了对GraalVM原生镜像的支持,JDK25强化了云原生与AOT编译能力,GraalVM则提供了极致的启动速度和资源利用率,三者协同,刚好命中云原生微服务的核心痛点。SpringBoot4.0+JDK25+GraalVM的组合,不是简单的版本升级,而是云原生微服务的一次性能革命。

2601_94871597的博客 1141

uniapp-datetime-picker 项目亮点解析

uniapp-datetime-picker 是一个基于 uni-app 框架的日期时间选择器组件。它为开发者提供了一个简单易用、功能全面的日期时间选择解决方案。该组件支持多种日期时间格式,满足不同的应用场景,同时提供了丰富的配置选项和事件回调,使得开发者可以轻松定制化和集成到自己的项目中。 ## 2. 项目代码目录及介绍 项目的主要代码目录结构如下: - `components`:存放 d...

gitblog_00424的博客 936

人像美肤 人体美型 CVPR 2022 ABPN

人像美肤 CVPR 2022 ABPN

jacke121的专栏 841

python批量调用大模型API:多线程和异步协程

本文介绍了利用多线程技术批量调用大模型API的实现方法。核心是通过并发请求提高处理效率,主要采用线程池管理并发数量、结果聚合等技术。文章提供了一个完整的Python实现示例,包含APIBatchCaller类及其single_api_call和batch_call方法,详细解析了并发控制、错误处理等关键点,并给出了使用注意事项,包括并发数设置、重试策略和超时处理等。该方案特别适合IO密集型任务,能显著提升批量API调用的效率。

Cachel Wood的博客 760

uniapp uview1.0x 下拉选择fs-select,日期下拉选择u-picker 组件简单分装

uview组件 下拉 和 日期简单分装 u-select封装 <!-- 点击弹窗下拉选择 可 单/多 列--> <template> <view> <u-input input-align="right" :placeholder="`请选择 ${placeholder}`" v-model="valueLable" type="select" :select-open="show" @click="show = true" :border="border"

weixin_46211267的博客 6828

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

uniapp写的一个年月日时分秒时间选择功能

picker: 定义选择器的样式,设置内边距、背景颜色和文本对齐方式。

祈澈菇凉 1154

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

终极指南:uniapp-datetime-picker时间选择器的完整使用教程

uniapp-datetime-picker是一款专为uni-app框架设计的高效日期时间选择器组件,它能够帮助开发者快速构建多平台兼容的时间选择功能。无论您是在开发H5应用还是各类小程序,这个组件都能提供出色的用户体验和灵活的配置选项。 ## 🚀 为什么选择uniapp-datetime-picker? 在移动端应用开发中,**时间选择功能**是用户交互的重要环节。传统的时间选择器往往功能

gitblog_00649的博客 540

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

uniapp日期时间选择器的实现

由于项目需求需要,尝试过使用Vant组件库 但是一直出现问题 插件市场的插件又不太符合需求,使用就查了相关资料,最终捣鼓的效果如下: 首先现在根目录下创建util文件夹放dateTimePicker.js dateTimePicker.js function withData(param){ return param < 10 ? '0' + param : '' + param; } function getLoopArray(start,end){ var start = start |

自由&不束缚的博客 2万+

5分钟掌握uniapp-datetime-picker:移动端日期时间选择的终极解决方案

uniapp-datetime-picker是一款专为uni-app框架设计的跨平台日期时间选择组件,能够完美兼容H5和小程序环境。无论你是开发电商应用的表单页面,还是构建OA系统的预约功能,这个组件都能为你的移动端应用提供专业级的日期时间选择体验。 ## 🔥 为什么选择uniapp-datetime-picker? 在移动端开发中,日期时间选择是一个高频需求,但不同平台的原生选择器存在兼容

gitblog_00835的博客 400
上一篇: uniapp封装公共js并在main.js里全局绑定并调用
下一篇: uniapp获取当前日期时间
if时光重来
博客等级 码龄8年 248粉丝 217原创
评论 9
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值