当前位置: 首页 > news >正文

时间与时间戳转换及android和ios对时间识别的区别

注意:

"2021-05-01 12:53:59.55" 时间对象在 ios 中会出现 NaN-NaN1-NaN

需要将对象格式化为:"2021/05/01 12:53:59.55" 可同时兼容 android 和 ios。


//将某时间转时间戳
/*
var time = new Date("2021-05-01 12:53:59.55")
"2021-05-01 12:53:59.55"时间对象在ios中会出现NaN-NaN1-NaN需要将对象格式为:"2021/05/01 12:53:59.55"同时兼容android和ios
*/var time = new Date("2021-05-01 12:53:59.55".replace(/-/g,"/"))time.getTime()
console.log(time.getTime()) time.valueOf()
console.log(time.valueOf())Number(time)
console.log(Number(time))+time
console.log(+time)Date.parse(time) //后三位固定为 000
console.log(Date.parse(time))   //当前时间的时间戳:
new Date().getTime()
console.log(new Date().getTime())new Date().valueOf()
console.log(new Date().valueOf())Date.parse(new Date())
console.log(Date.parse(new Date()))Number(new Date())
console.log(Number(new Date()))+new Date()
console.log(+new Date())

获得 10 位数的时间戳,因为通过时间对象转换得到的时间戳都是 13 位的,有时候需要精确到秒的 10 位时间戳,那么要么截取前 10 位,要么除以 1000。

// 将13位时间戳除以1000然后再取整,得到10位时间戳数字
parseInt(+new Date()/1000)// 将13位时间戳转换为字符串截取前10位,得到10位时间戳字符串
(+new Date()).toString().substring(0,10) // 截取第 0~9 位
(+new Date()).toString().substr(0,10)  // 从第 0 位开始截取 10 位

时间戳转换为时间对象

// 注意:参数中的时间戳必须是13位的
new Date(1619746630790)// 将时间戳转换为更加直观形象的本地时间
new Date(1619746630790).toLocaleString()var time = new Date(1619746630790)
console.log(time.toLocaleString())  // 2021/4/30 09:37:10

时间的格式化


new Date().getFullYear() //年
new Date().getMonth() //月 从0开始
new Date().getDate()  //日 1月非01月
new Date().getHours() //时 1日非01日
new Date().getMinutes() //分 1分非01分
new Date().getSeconds() //秒 1秒非01秒
new Date().getDay() //周 0-6 周日-周六/*
padStart(targetLength,padString) 用于头部补全,
padEnd(targetLength,padString) 用于尾部补全。参数:
targetLength:目标长度。
如果这个数值小于当前字符串的长度,则返回当前字符串本身。padString(可选参数):填充字符串。
如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。此参数的默认值为 " "
*///月日时分秒双位数补全
(new Date().getMonth()+1).toString().padStart(2,'0')
new Date().getDate().toString().padStart(2,'0')
new Date().getHours().toString().padStart(2,'0')
new Date().getMinutes().toString().padStart(2,'0')
new Date().getSeconds().toString().padStart(2,'0')//时间格式化输出
formattedDate(time){let date = new Date(time);let year = date.getFullYear();  let month = (date.getMonth() + 1).toString().padStart(2,'0')  let day = date.getDate().toString().padStart(2,'0')let hour = date.getHours().toString().padStart(2,'0')let minute = date.getMinutes().toString().padStart(2,'0')let second = date.getSeconds().toString().padStart(2,'0')let weekDay = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];let week = date.getDay(); let formattedDate = `${year}-${month}-${day} ${hour}:${minute}:${second} ${weekDay[week]}`;  return formattedDate
},

时分秒与时间戳相互转换


//时间转时间戳
let nowStamp = new Date().getHours()*3600 + new Date().getMinutes()*60 + new Date().getSeconds()console.log(nowStamp)  //61579//时间戳转时间
let nowTime = Number(61579);
let hour = Math.floor(nowTime /3600).toString().padStart(2,'0')
let minute = Math.floor((nowTime %3600)/60).toString().padStart(2,'0')
let second = (parseInt(nowTime %3600)%60).toString().padStart(2,'0')console.log(`${hour}:${minute}:${second}`)   //17:06:19

http://www.lryc.cn/news/267506.html

相关文章:

  • 飞天使-k8s知识点7-kubernetes升级
  • 【Unity游戏制作】游戏模型导入之前需要注意的三个基本点
  • 三列布局 css
  • Android开发之生命周期(App、Activity)
  • 利用html2Canvas将表格下载为html
  • 《Git快速入门》Git分支
  • HarmonyOS应用性能与功耗云测试
  • 【AI】人工智能本地环境集成安装
  • 主流级显卡的新选择,Sparkle(撼与科技)Intel Arc A750兽人体验分享
  • BI 商业数据分析能够给企业带来什么改变?
  • 模式识别与机器学习-特征选择和提取
  • 嵌入式——RTC闹钟Alarm
  • 【linux】线程控制
  • Swift学习笔记第三节:Set类型
  • 【前端】安装指定版本的nodejs
  • 多商户小程序开源商城源码 打造微信商城新零售网店
  • 云仓酒庄的品牌雷盛红酒LEESON分享干红是纯葡萄酿造的吗?
  • PHP函数学习总结
  • 5G RedCap:轻量5G技术的新宠
  • 【LeetCode 热题 HOT 100】题解笔记 —— Day04
  • rust中的超时处理
  • DML语言(重点)———update
  • Mybatis使用详解
  • 云原生周刊:Karmada 成为 CNCF 孵化项目 | 2023.12.25
  • 【开源】基于JAVA的学校热点新闻推送系统
  • Java基于TCP网络编程的群聊功能
  • CentOS+ISCSI
  • RHCE9学习指南 第11章 网络配置
  • Qt如何在控制台项目中使用opencv打开视频
  • Node.js 默认包管理器 npm 详解