基于jQuery的时间戳与日期间的转化

  1. 时间戳与日期互转

我们可以通过Date()函数和getTime()方法来实现时间戳和日期的互转。

将时间戳转为日期:

//获取当前时间戳
var timestamp = new Date().getTime();
//利用Date()函数将时间戳转为日期
var date = new Date(timestamp);
//格式化日期,常用格式如下
var dateStr = date.getFullYear() + '-' + (date.getMonth() + 1) + '-' + date.getDate() + ' ' + date.getHours() + ':' + date.getMinutes() + ':' + date.getSeconds();
console.log(dateStr);

将日期转为时间戳:

//将日期字符串转为Date对象
var dateStr = '2021-10-01 12:30:00';
var date = new Date(dateStr);
//获取时间戳
var timestamp = date.getTime();
console.log(timestamp);
  1. jQuery实现时间戳和日期格式化的插件

我们可以将上述互转功能封装成一个jQuery插件,方便在项目中的调用。

//定义一个工具函数对象
var dateTools = {
  //将时间戳转为日期字符串
  formatTimestamp: function(timestamp, fmt) {
    var date = new Date(timestamp);
    var o = {
      "M+": date.getMonth() + 1, //月份
      "d+": date.getDate(), //日
      "h+": date.getHours(), //小时
      "m+": date.getMinutes(), //分
      "s+": date.getSeconds(), //秒
      "q+": Math.floor((date.getMonth() + 3) / 3), //季度
      "S": date.getMilliseconds() //毫秒
    };
    if (/(y+)/.test(fmt))
      fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
      if (new RegExp("(" + k + ")").test(fmt))
        fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
  },
  //将日期字符串转为时间戳
  formatDateString: function(dateStr) {
    var timestamp = Date.parse(new Date(dateStr));
    return timestamp / 1000;
  }
};

//将工具函数封装为jQuery插件
$.fn.dateTools = function(options) {
  var defaultOptions = {
    timeFormat: 'yyyy-MM-dd hh:mm:ss', //时间格式
    inputFormat: 'yyyy-MM-dd hh:mm:ss' //输入框格式
  };
  var settings = $.extend(defaultOptions, options);

  this.each(function() {
    var input = $(this);
    var isTimestamp = input.attr('data-timestamp');
    var format = isTimestamp ? settings.timeFormat : settings.inputFormat;

    input.on('blur', function() {
      //获取输入值
      var value = input.val();
      //判断值是否为空
      if (value.length == 0) {
        return;
      }
      //根据isTimestamp判断是转为时间戳还是日期字符串
      var result = isTimestamp ? dateTools.formatDateString(value) : dateTools.formatTimestamp(value, format);
      //将结果输出
      input.val(result);
    });
  });

  return this;
};

使用示例:

将时间戳转为日期

<input type="text" class="timestamp-input" data-timestamp="true">
<script>
  $('.timestamp-input').dateTools({
    timeFormat: 'yyyy-MM-dd hh:mm:ss'
  });
</script>

将日期转为时间戳

<input type="text" class="date-input">
<script>
$('.date-input').dateTools({
  inputFormat: 'yyyy-MM-dd'
});
</script>

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:基于jQuery的时间戳与日期间的转化 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • 如何使用jQuery来触发选择框的点击悬停

    要使用jQuery触发选择框的点击悬停,可以使用trigger()方法。下面是一个完整攻略,包括两个示例说明。 步骤1:创建HTML和CSS 首先,我们需要一个HTML和CSS以便在页面中显示一个选择框。下面是一个示例HTML和CSS: <!DOCTYPE html> <html> <head> <title>…

    jquery 2023年5月9日
    00
  • jQWidgets jqxProgressBar val() 方法

    以下是关于 jQWidgets jqxProgressBar 组件中 val() 方法的详细攻略。 jQWidgets jqxProgressBar val() 方法 jQWidgets jqxProgressBar 的 val 方法于获取或设置进度条的值。 语法 // 获取进度条的值 var value = $(‘#progressBar’).jqxPro…

    jquery 2023年5月12日
    00
  • jQWidgets jqxLoader close()方法

    jQWidgets jqxLoader创建事件详解 jQWidgets是一个基于jQuery的UI组件库,提供了丰富UI组件工具包。jqxLoader是组件之一。本文将详介绍jqxLoader的创建事件,包括用法、语法和示例。 创建事件的基本语法 创建事件的基本语法如下: $(‘#jqxLoader’).on(‘created’, function (eve…

    jquery 2023年5月10日
    00
  • angular js和jquery的区别

    AngularJS和jQuery都是流行的JavaScript框架,但它们的目标和用途不同。下面是它们之间的区别: 1. 框架的复杂度 AngularJS是一款完备的MVC框架,它的核心概念是双向数据绑定、依赖注入和模板指令。AngularJS包含了很多技术概念和构建应用程序所需的预设结构,因此在学习曲线上比较陡峭。 jQuery是一个轻量级的JavaScr…

    jquery 2023年5月13日
    00
  • jQWidgets jqxTabs hideCloseButtonAt()方法

    jQWidgets jqxTabs 是一个用于创建标签页选项卡的 Jquery 插件。其中 jqxTabs.hideCloseButtonAt() 方法用于隐藏指定位置的标签页关闭按钮。 hideCloseButtonAt() 方法使用方法 hideCloseButtonAt() 方法可用于隐藏特定位置的标签页关闭按钮。可以通过调用该方法并传递要隐藏关闭按钮…

    jquery 2023年5月12日
    00
  • 如何使用jQuery Mobile制作一个Icon位置的复选框

    以下是使用jQuery Mobile制作一个Icon位置的复选框的完整攻略: 首先,在HTML文件中引入jQuery Mobile库。可以以下代码实现: <head> <meta name="viewport"="width=device-width, initial-scale=1"> &lt…

    jquery 2023年5月11日
    00
  • jQWidgets jqxScrollView showButtons属性

    以下是关于 jQWidgets jqxScrollView 组件中 showButtons 属性的详细攻略。 jQWidgets jqxScrollView showButtons 属性 jQWidgets jqxScrollView 组件的 showButtons 属性用于设置是否显示滚动视图的按钮。 语法 // 获取 showButtons 属性值 sh…

    jquery 2023年5月12日
    00
  • 给jqGrid数据行添加修改和删除操作链接(之一)

    给jqGrid数据行添加修改和删除操作链接(之一) 前言 jqGrid是一个强大、灵活且易于使用的jQuery表格插件。在开发Web应用程序时,经常需要使用表格来显示并操作数据。在此过程中,我们经常需要在表格中添加编辑、删除等操作,以便用户对数据进行操作。 本篇攻略将介绍如何给jqGrid数据行添加修改和删除操作链接。 步骤 1. 准备工作 在添加操作链接之…

    jquery 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部