Vue3使用格式化的当前日期

发布时间:2026/10/6 11:59:43
Vue3使用格式化的当前日期 在Vue 3中初始化一个变量today为当前日期并且格式化为yyyy-mm-dd格式可以通过多种方式实现。以下是几种常见的方法格式化当前日期方法1使用JavaScript的Date对象和模板字符串script setupimport{ref,onMounted}fromvue;consttodayref();onMounted((){constdatenewDate();constyeardate.getFullYear();constmonthString(date.getMonth()1).padStart(2,0);// 月份是从0开始的constdayString(date.getDate()).padStart(2,0);today.value${year}-${month}-${day};});/script方法2使用第三方库如date-fns或moment.js如果你想要更灵活地处理日期可以使用像date-fns或moment.js这样的库。首先需要安装这些库npminstalldate-fns 或者npminstallmoment使用date-fns:script setupimport{ref,onMounted}fromvue;import{format}fromdate-fns;consttodayref();onMounted((){today.valueformat(newDate(),yyyy-MM-dd);});/script使用moment.js:script setupimport{ref,onMounted}fromvue;importmomentfrommoment;consttodayref();onMounted((){today.valuemoment().format(YYYY-MM-DD);});/script方法3使用原生JavaScript的toLocaleDateString方法然后手动调整格式适用于大多数浏览器script setupimport{ref,onMounted}fromvue;consttodayref();onMounted((){today.valuenewDate().toLocaleDateString(zh-CN,{year:numeric,month:2-digit,day:2-digit});});/script注意toLocaleDateString方法会根据浏览器的本地化设置返回日期如果你想要固定的格式如总是yyyy-mm-dd可能需要手动调整或使用其他库。例如在某些情况下你可能需要将上述代码中的zh-CN替换为en-US或其他适当的地区代码以确保格式的正确性。对于严格的yyyy-mm-dd格式使用date-fns或moment.js通常是更好的选择。在OnMounted传递格式化的当前日期在Vue 3中如果你想在onMounted生命周期钩子中调用后端接口并传递当前日期格式为yyyy-MM-dd你可以使用JavaScript的Date对象来获取当前日期然后使用toLocaleDateString或者自定义格式化函数来格式化日期。这里我将演示两种方法方法1使用toLocaleDateStringimport{onMounted}fromvue;importaxiosfromaxios;// 确保已安装axios或者使用你喜欢的任何HTTP客户端exportdefault{setup(){onMounted(async(){// 获取当前日期格式为yyyy-MM-ddconstcurrentDatenewDate().toLocaleDateString(zh-CN,{year:numeric,month:2-digit,day:2-digit});// 调用后端接口try{constresponseawaitaxios.get(/your-endpoint,{params:{date:currentDate}});console.log(response.data);// 处理响应数据}catch(error){console.error(Error fetching data:,error);}});return{};// 如果setup中没有返回任何响应式对象则返回一个空对象即可}};方法2自定义格式化函数如果你需要更精确的控制日期格式可以自定义一个格式化函数import{onMounted}fromvue;importaxiosfromaxios;// 确保已安装axios或者使用你喜欢的任何HTTP客户端functionformatDate(date){constyyyydate.getFullYear();constMMString(date.getMonth()1).padStart(2,0);// 月份是从0开始的constddString(date.getDate()).padStart(2,0);return${yyyy}-${MM}-${dd};}exportdefault{setup(){onMounted(async(){// 获取当前日期并格式化constcurrentDateformatDate(newDate());// 调用后端接口try{constresponseawaitaxios.get(/your-endpoint,{params:{date:currentDate}});console.log(response.data);// 处理响应数据}catch(error){console.error(Error fetching data:,error);}});return{};// 如果setup中没有返回任何响应式对象则返回一个空对象即可}};两种方法都可以实现你的需求你可以根据个人喜好和具体需求选择使用哪一种。通常来说toLocaleDateString方法更简单易用但如果你需要更复杂的日期处理逻辑自定义函数会更灵活。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询