1 /**
2 * Parse the time to string
3 * @param {(Object|string|number)} time
4 * @param {string} cFormat
5 * @returns {string | null}
6 */
7 export function parseTime(time, cFormat) {
8 if (arguments.length === 0 || !time) {
9 return null
10 }
11 const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
12 let date
13 if (typeof time === 'object') {
14 date = time
15 } else {
16 if ((typeof time === 'string')) {
17 if ((/^[0-9]+$/.test(time))) {
18 // support "1548221490638"
19 time = parseInt(time)
20 } else {
21 // support safari
22 // https://stackoverflow.com/questions/4310953/invalid-date-in-safari
23 time = time.replace(new RegExp(/-/gm), '/')
24 }
25 }
26
27 if ((typeof time === 'number') && (time.toString().length === 10)) {
28 time = time * 1000
29 }
30 date = new Date(time)
31 }
32 const formatObj = {
33 y: date.getFullYear(),
34 m: date.getMonth() + 1,
35 d: date.getDate(),
36 h: date.getHours(),
37 i: date.getMinutes(),
38 s: date.getSeconds(),
39 a: date.getDay()
40 }
41 const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
42 const value = formatObj[key]
43 // Note: getDay() returns 0 on Sunday
44 if (key === 'a') { return ['日', '一', '二', '三', '四', '五', '六'][value ] }
45 return value.toString().padStart(2, '0')
46 })
47 return time_str
48 }
49
50 /**
51 * @param {number} time
52 * @param {string} option
53 * @returns {string}
54 */
55 export function formatTime(time, option) {
56 if (('' + time).length === 10) {
57 time = parseInt(time) * 1000
58 } else {
59 time = +time
60 }
61 const d = new Date(time)
62 const now = Date.now()
63
64 const diff = (now - d) / 1000
65
66 if (diff < 30) {
67 return '刚刚'
68 } else if (diff < 3600) {
69 // less 1 hour
70 return Math.ceil(diff / 60) + '分钟前'
71 } else if (diff < 3600 * 24) {
72 return Math.ceil(diff / 3600) + '小时前'
73 } else if (diff < 3600 * 24 * 2) {
74 return '1天前'
75 }
76 if (option) {
77 return parseTime(time, option)
78 } else {
79 return (
80 d.getMonth() +
81 1 +
82 '月' +
83 d.getDate() +
84 '日' +
85 d.getHours() +
86 '时' +
87 d.getMinutes() +
88 '分'
89 )
90 }
91 }
const start = new Date()
formatTime(start, '{y}-{m}-{d}', 0)


时间格式转换成指定格式(Vue)的更多相关文章

  1. javascript时间戳转换成指定格式的日期

    //时间戳转换成指定格式的日期DateTool.IntDatetimeTo = function(time, format){    var testDate = new Date(time);    ...

  2. linux环境下deb格式 转换成rpm格式

    linux环境下deb格式 转换成rpm格式 使用alien工具转换deb格式到rpm格式 alien_8.87.tar.gz 下载alien_8.87.tar.gz [root@mysqlnode2 ...

  3. 怎样将M4A音频格式转换成MP3格式

    因为MP3音频格式应用的广泛性,所以很多时候我们都需要将不同的音频格式转换成MP3格式的,那么如果我们需要将M4A音频格式转换成MP3格式,我们应该怎样进行实现呢?下面我们就一起来看一下吧. 操作步骤 ...

  4. 分别用Excel和python进行日期格式转换成时间戳格式

    最近在处理一份驾驶行为方面的数据,其中要用到时间戳,因此就在此与大家一同分享学习一下. 1.什么是时间戳? 时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01 ...

  5. 怎样将flac音频格式转换成MP3格式

    Flac音频格式怎样转换成MP3格式呢?随着现在音频格式的不断多样性,生活中很多时候我们都会遇到音频格式转换的问题,如flac音频转MP3的问题,那么我们应该如何去解决这个问题呢?下面我们就一起去来一 ...

  6. windwos文档格式转换成unix格式

    在工作学习中我们避免不了需要将一些脚本和命令记录在笔记里面,我使用的是有道云笔记,每当我将上次记录在有道云的脚本复制出来进行使用的时候,总会报一些奇怪的错误,要么是包含换行符,要么就是格式不对,但是我 ...

  7. 将ERF格式转换成PCAP格式

    在研究网络流量分析的时候,wireshark默认采用pcap格式.对于用Endace DAG捕捉卡捕获的数据包,一般来说,都是erf格式的.一般来说,此种格式包含了更多了链路层信息.而我们采用wire ...

  8. 把#define宏转换成指定格式

    之前在弄一个东西的,有一大堆的宏,需要把它转换成其它的形式.遇到这种大批量的东西,我特别没有耐心去一个一个的弄,于是写了一段代码. 估计大家平常比较难用得上,不过可以平常相似的情况用来参考. Sort ...

  9. dos2unix 将DOS格式转换成NUIX格式

    1.命令功能 dos2unix将windows文件格式转换成unix文件格式. 2.语法格式 dos2unix  file 3.使用范例 [root@localhost ~]# dos2unix wi ...

  10. jquery将日期转换成指定格式的字符串

    引用jquery文件,如<script type="text/javascript" src="jquery-1.8.3.min.js"></ ...

随机推荐

  1. C# 在GridView里面使用a标签下载文件(图片)

    不能使用ajax进行下载文件的操作,具体原因需百度 前端页面,在GridView里面使用模板列,模板列放a标签 <cimesui:cimesGridView ID="GridView1 ...

  2. SQL Server性能优化工具Profiler

    SQL Server Profiler是什么 SQL Server Profiler是一个界面,用于创建和管理跟踪并分析和重播跟踪结果. 这些事件保存在一个跟踪文件中,稍后试图诊断问题时,可以对该文件 ...

  3. RepVGG:一个结构重参数化网络

    ​  本文来自公众号"AI大道理" ResNet.DenseNet 等复杂的多分支网络可以增强模型的表征能力,使得训练效果更好.但是多分支的结构在推理的时候效率严重不足. 看起来二 ...

  4. (K8s学习笔记六)Pod的调度

    RC(ReplicationController)只能选择一个标签,RS(ReplicaSet)可选择多个标签,例如APPTest发布了v1和v2两个版本,并希望副本数为3,可同时包含v1和v2两个版 ...

  5. webapp 增加 springmvc框架 支持

    1.通过maven创建一个webapp项目,并在IDEA 中增加smart tomcat的插件. 2.然后在pom文件中添加springmvc的依赖 <!-- ServletAPI --> ...

  6. 关于sql时间方面的处理

    查询大于时间两小时(例:订单设置两小时后过期 $res = Order::where(['status'=>0,'sid'=>1])->whereRaw("created_ ...

  7. EPLAN部件库汇总贴转

    经常看到网友求EPLAN部件库,授人以鱼不如授人以渔,大可不必把所有部件装上,比如软件自带的部件库,我都弃之不用,新建一个部件库,把工作中经常要用到的部件慢慢添加进去.慢慢的你会发现:画图效率越来越高 ...

  8. 关于uniapp 打自定义基座部分手机不能自动安装的问题

    部分手机指的是-------没错就辣鸡 vivo手机 解决办法----进入手机文件管理-----根目录-----会有一个你打包的app.apk文件,手动安装一下就好了 搜索 复制

  9. nginx的nginx.conf配置文件如何修改代理的路由

    方法 location /api/ { set $request_uri_new $request_uri; if ($request_uri ~ "^/api/(.*)$") { ...

  10. Mysql数据库基础第二章:(五)分组查询

    Mysql数据库基础系列 软件下载地址 提取码:7v7u 数据下载地址 提取码:e6p9 mysql数据库基础第一章:(一)数据库基本概念 mysql数据库基础第一章:(二)mysql环境搭建 mys ...