网络编程
位置:首页>> 网络编程>> JavaScript>> 使用javascript将时间转换成今天,昨天,前天等格式

使用javascript将时间转换成今天,昨天,前天等格式

作者:hebedich  发布时间:2024-04-10 10:42:20 

标签:javascript,时间格式化,时间转换

方法超级简单,把时间格式化一下就好了,直接奉上代码


function transDate() {
   var $time =document.getElementById("share-time");
   var date = $time.innerHTML.trim();
   var tt = new Date(parseInt(date));
   var days = parseInt((new Date().getTime() - date) / 86400000);
   var today = new Date().getDate();
   var year = tt.getFullYear();
   var mouth = tt.getMonth() + 1;
   var day = tt.getDate();
   var time = tt.getHours() < 10 ? "0" + tt.getHours() : tt.getHours();
   var min = tt.getMinutes() < 10 ? "0" + tt.getMinutes() : tt.getMinutes();
   var result, offset;
offset = Math.abs(today - day);
if (days < 4&&offset<4) {
if (offset === 0) {
       result = "今天" + time + ":" + min;
     } else if (offset === 1) {
       result = "昨天" + time + ":" + min;
     } else if (offset === 2) {
       result = "前天" + time + ":" + min;
     }
   } else {
     result = year + "-" + mouth + "-" + day + " " + time + ":" + min;
   }
   $time.innerHTML = result;
 }
 transDate();

js 日期 获取今天、昨天、明天第一个函数

function getDay(day){
   var today = new Date()
   // 获取时间戳(毫秒级)
   /*
     day为1,则是,明天的时间戳
     day为-1,则是,昨天的时间戳
     day为-2,则是,前天的时间戳
   */
   var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day
   // Date.setTime(时间戳):设置当前日期的时间
   today.setTime(targetday_milliseconds)
   console.log('today=', today) // today= Sun Mar 05 2023 16:14:56 GMT+0800 (中国标准时间)
   var tYear = today.getFullYear() // 年
   var tMonth = today.getMonth() // 月
   var tDate = today.getDate() // 日
   tMonth = this.doHandleMonth(tMonth + 1)
   tDate = this.doHandleMonth(tDate)
   console.log('返回年月日=', tYear + '-' + tMonth + '-' + tDate)
   return tYear + '-' + tMonth + '-' + tDate
 }
 function doHandleMonth(month) {
   var m = month
   if (month.toString().length == 1) {
     m = '0' + month
   }
   return m
 }

js获取今天昨天明天的日期第二个函数

/*
 * @params date 日期
 * @params type 日期 prev/current/next 昨天/今天/明天
 * @params fmt 日期拼接符
*/
function getDays(date, type, fmt) {
   let currentDate = new Date(date)
   let y = currentDate.getFullYear()
   let m = currentDate.getMonth() + 1
   let d = currentDate.getDate()
   function dateFormat(date, fmt) {
       let y = new Date(date).getFullYear()
       let m = new Date(date).getMonth() + 1
       let d = new Date(date).getDate()
       return `${y}${fmt}${m}${fmt}${d}`
   }
   switch (type) {
       case "prev":
           if (d - 1 < 1) {
               if (m - 1 < 1) {
                   y = y - 1
                   m = 12
               } else {
                   m = m - 1
               }
               d = new Date(y, m, 0).getDate()
           } else {
               d = d - 1
           }
           break
       case "current":
           break
       case "next":
           if (d + 1 > new Date(y, m, 0).getDate()) {
               if (m + 1 > 12) {
                   y = y + 1
                   m = 1
                   d = 1
               } else {
                   m = m + 1
                   d = 1
               }
           } else {
               d = d + 1
           }
           break;
   default:
     break;
   }
   return dateFormat(new Date(`${y}-${m}-${d}`), fmt)
}
console.log(getDays(new Date('2023-5-13'), "prev", "-"));
console.log(getDays(new Date('2023-5-30'), "next", "-"));
console.log(getDays(new Date('2023-5-31'), "next", "-"));

以上所述就是本文的全部内容了,希望大家能够喜欢。

0
投稿

猜你喜欢

  • 所以爱微网现在讲解先php内置函数 有大小写转换相关函数 文本html标签处理函数大小写有关函数 strtolower() strtoupp
  • 一、正则表达式概述 如果原来没有使用过正则表达式,那么可能对这个术语和概念会不太熟悉。不过,它们并不是您想象的那么新奇。请回想一下在硬盘上是
  • 数据库对于服务端开发人员来说,几乎就是左膀右臂。几乎每一个服务端开发人员都要和数据库打交道。而MySQL又以其开源免费,小巧玲珑,简单易用,
  • numpy的sum函数可接受的参数是:sum(a, axis=None, dtype=None, out=None, keepdims=np
  • 概述名称描述NOT REGEXP否定的REGEXPREGEXP字符串是否匹配正则表达式RLIKE字符串是否匹配正则表达式正则表达式是指定复杂
  • SQL Server 2008的一些新特点及独到之处:设置和安装SQL Server 2008的设置和安装也有所改进。配置数据和引擎位已经分
  • 脚本调试第一步:设置中断(鼠标左键点击)第二步:输入中断条件(可选功能,鼠标右键点击红点)第三步:触发中断(当符合条件是,中断被触发)出现中
  • 本文实例讲述了python中requests模块的使用方法。分享给大家供大家参考。具体分析如下:在HTTP相关处理中使用python是不必要
  • 如何使用模板系统让我们深入研究模板系统,你将会明白它是如何工作的。但我们暂不打算将它与先前创建的视图结合在一起,因为我们现在的目的是了解它是
  • 以下内容是针对安装tensorflow-CPU版本的。tensorflow已经支持Python3.8版本的安装。可以查看自己的Python版
  • 前言项目中要实现多选,就想到用插件,选择了bootstrap-select。附上官网api链接,http://silviomoreto.gi
  • 由于笔者最近在做一个跨数据库操作的测试,开始做IBatisNet (IBatis.DataMapper.1.6.2/IBatis.DataA
  • 本文实例讲述了RC4文件加密的python实现方法。分享给大家供大家参考。具体分析如下:基于RC4流加密算法,使用扩展的16*16的S盒,3
  • 1、Python函数函数是Python为了代码最大程度的重用和最小化代码冗余而提供的基本程序结构,用于将相关功能打包并参数化Python中可
  • 示例1:文件打包,上传与校验我们时常做一些文件包分发的工作,实施步骤一般是先压缩打包,在批量上传至目标服务器,最后做一致性校验,本案例通过p
  • 第一次在自己虚机上安装mysql 中间碰到很多问题 在这里记下来,分享一下。linux centOS 6mysql版本 mysql-5.7.
  • 本文实例为大家分享了基于Tensorflow的MNIST手写数字识别分类的具体实现代码,供大家参考,具体内容如下代码如下:import te
  • 前言:正则表达式(regular expression)描述了一种字符串匹配的规则,正则表达式本身就是一个字符串,使用这个字符串来描述、用来
  • 序列化模块import pickle序列化和反序列化把不能直接存储的数据变得可存储,这个过程叫做序列化。把文件中的数据拿出来,回复称原来的数
  • 在CSS初级教程中我们仅仅考虑了HTML选择符──以HTML标签形式出现。你当然可以用类选择符class和标识选择符id来定义自己的选择符。
手机版 网络编程 asp之家 www.aspxhome.com