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

2024-09-04 00:20

本文主要是介绍uniapp写的一个年月日时分秒时间选择功能,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

图片.png

代码:

<template><view><picker mode="multiSelector" :value="multiIndex" :range="multiRange" @change="onMultiChange"><view class="picker">当前选择:{{ formattedDateTime }}</view></picker></view>
</template><script>
export default {data() {const now = new Date();return {multiIndex: [now.getFullYear() - 1900, // 年份now.getMonth(),           // 月份 (0-11)now.getDate() - 1,        // 日期 (1-31,减1以用于索引)now.getHours(),           // 小时 (0-23)now.getMinutes(),         // 分钟 (0-59)now.getSeconds()          // 秒 (0-59)],multiRange: this.getMultiRange()};},computed: {formattedDateTime() {const year = this.multiRange[0][this.multiIndex[0]];const month = String(this.multiRange[1][this.multiIndex[1]]).padStart(2, '0');const day = String(this.multiRange[2][this.multiIndex[2]]).padStart(2, '0');const hour = String(this.multiRange[3][this.multiIndex[3]]).padStart(2, '0');const minute = String(this.multiRange[4][this.multiIndex[4]]).padStart(2, '0');const second = String(this.multiRange[5][this.multiIndex[5]]).padStart(2, '0');return `${year}-${month}-${day} ${hour}:${minute}:${second}`;}},methods: {getMultiRange() {let yearRange = [];let monthRange = [];let dayRange = [];let hourRange = [];let minuteRange = [];let secondRange = [];// 生成年月日时分秒的数组for (let i = 1900; i <= 2100; i++) yearRange.push(i);for (let i = 1; i <= 12; i++) monthRange.push(i);for (let i = 1; i <= 31; i++) dayRange.push(i);for (let i = 0; i <= 23; i++) hourRange.push(i);for (let i = 0; i <= 59; i++) minuteRange.push(i);for (let i = 0; i <= 59; i++) secondRange.push(i);return [yearRange, monthRange, dayRange, hourRange, minuteRange, secondRange];},onMultiChange(e) {this.multiIndex = e.detail.value;}}
};
</script><style>
.picker {padding: 10px;background-color: #fff;text-align: center;
}
</style>
  1. 部分
<template><view><picker mode="multiSelector" :value="multiIndex" :range="multiRange" @change="onMultiChange"><view class="picker">当前选择:{{ formattedDateTime }}</view></picker></view>
</template>
<view>: 是一个容器元素,用于包裹其他元素。
<picker>: 用于创建一个多级选择器,mode="multiSelector" 表示选择多个值。:value="multiIndex": 绑定当前选择的索引数组。:range="multiRange": 绑定可选择的值数组。@change="onMultiChange": 当选择值变化时触发 onMultiChange 方法。
<view class="picker">: 显示当前选择的日期和时间,使用双花括号 {{ formattedDateTime }} 来动态显示格式化后的日期时间。
<script>
export default {data() {const now = new Date();return {multiIndex: [now.getFullYear() - 1900, // 年份now.getMonth(),           // 月份 (0-11)now.getDate() - 1,        // 日期 (1-31,减1以用于索引)now.getHours(),           // 小时 (0-23)now.getMinutes(),         // 分钟 (0-59)now.getSeconds()          // 秒 (0-59)],multiRange: this.getMultiRange()};},computed: {formattedDateTime() {const year = this.multiRange[0][this.multiIndex[0]];const month = String(this.multiRange[1][this.multiIndex[1]]).padStart(2, '0');const day = String(this.multiRange[2][this.multiIndex[2]]).padStart(2, '0');const hour = String(this.multiRange[3][this.multiIndex[3]]).padStart(2, '0');const minute = String(this.multiRange[4][this.multiIndex[4]]).padStart(2, '0');const second = String(this.multiRange[5][this.multiIndex[5]]).padStart(2, '0');return `${year}-${month}-${day} ${hour}:${minute}:${second}`;}},methods: {getMultiRange() {let yearRange = [];let monthRange = [];let dayRange = [];let hourRange = [];let minuteRange = [];let secondRange = [];// 生成年月日时分秒的数组for (let i = 1900; i <= 2100; i++) yearRange.push(i);for (let i = 1; i <= 12; i++) monthRange.push(i);for (let i = 1; i <= 31; i++) dayRange.push(i);for (let i = 0; i <= 23; i++) hourRange.push(i);for (let i = 0; i <= 59; i++) minuteRange.push(i);for (let i = 0; i <= 59; i++) secondRange.push(i);return [yearRange, monthRange, dayRange, hourRange, minuteRange, secondRange];},onMultiChange(e) {this.multiIndex = e.detail.value;}}
};
</script>

data()

const now = new Date();: 获取当前的日期和时间。
multiIndex: 初始化为当前时间的索引数组。年份减去1900,以便与年份范围的索引相匹配。月份直接使用 getMonth(),因为它从0开始(0表示1月)。日期、小时、分钟和秒直接取当前值。

computed

formattedDateTime: 计算属性,用于格式化当前选择的日期和时间。通过索引获取年、月、日、时、分、秒,并使用 padStart(2, '0') 确保它们都是两位数。返回格式化后的字符串,例如 YYYY-MM-DD HH:mm:ss。

methods

getMultiRange(): 生成年、月、日、时、分、秒的数组。使用循环生成各个范围的值(例如年份1900到2100)。返回一个数组,包含所有的时间选择范围。onMultiChange(e): 处理选择器的变化。更新 multiIndex,以便反映用户的选择。
<style>
.picker {padding: 10px;background-color: #fff;text-align: center;
}
</style>

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

这篇关于uniapp写的一个年月日时分秒时间选择功能的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134464

相关文章

Go语言实现将中文转化为拼音功能

《Go语言实现将中文转化为拼音功能》这篇文章主要为大家详细介绍了Go语言中如何实现将中文转化为拼音功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 有这么一个需求:新用户入职 创建一系列账号比较麻烦,打算通过接口传入姓名进行初始化。想把姓名转化成拼音。因为有些账号即需要中文也需要英

基于WinForm+Halcon实现图像缩放与交互功能

《基于WinForm+Halcon实现图像缩放与交互功能》本文主要讲述在WinForm中结合Halcon实现图像缩放、平移及实时显示灰度值等交互功能,包括初始化窗口的不同方式,以及通过特定事件添加相应... 目录前言初始化窗口添加图像缩放功能添加图像平移功能添加实时显示灰度值功能示例代码总结最后前言本文将

Python 中 requests 与 aiohttp 在实际项目中的选择策略详解

《Python中requests与aiohttp在实际项目中的选择策略详解》本文主要介绍了Python爬虫开发中常用的两个库requests和aiohttp的使用方法及其区别,通过实际项目案... 目录一、requests 库二、aiohttp 库三、requests 和 aiohttp 的比较四、requ

Python 标准库time时间的访问和转换问题小结

《Python标准库time时间的访问和转换问题小结》time模块为Python提供了处理时间和日期的多种功能,适用于多种与时间相关的场景,包括获取当前时间、格式化时间、暂停程序执行、计算程序运行时... 目录模块介绍使用场景主要类主要函数 - time()- sleep()- localtime()- g

使用Python实现批量访问URL并解析XML响应功能

《使用Python实现批量访问URL并解析XML响应功能》在现代Web开发和数据抓取中,批量访问URL并解析响应内容是一个常见的需求,本文将详细介绍如何使用Python实现批量访问URL并解析XML响... 目录引言1. 背景与需求2. 工具方法实现2.1 单URL访问与解析代码实现代码说明2.2 示例调用

el-select下拉选择缓存的实现

《el-select下拉选择缓存的实现》本文主要介绍了在使用el-select实现下拉选择缓存时遇到的问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的... 目录项目场景:问题描述解决方案:项目场景:从左侧列表中选取字段填入右侧下拉多选框,用户可以对右侧

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

python实现自动登录12306自动抢票功能

《python实现自动登录12306自动抢票功能》随着互联网技术的发展,越来越多的人选择通过网络平台购票,特别是在中国,12306作为官方火车票预订平台,承担了巨大的访问量,对于热门线路或者节假日出行... 目录一、遇到的问题?二、改进三、进阶–展望总结一、遇到的问题?1.url-正确的表头:就是首先ur

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2

如何评价Ubuntu 24.04 LTS? Ubuntu 24.04 LTS新功能亮点和重要变化

《如何评价Ubuntu24.04LTS?Ubuntu24.04LTS新功能亮点和重要变化》Ubuntu24.04LTS即将发布,带来一系列提升用户体验的显著功能,本文深入探讨了该版本的亮... Ubuntu 24.04 LTS,代号 Noble NumBAT,正式发布下载!如果你在使用 Ubuntu 23.