WXS(WeiXin Script)是小程序的一套脚本语言,wxs 与 javascript 是不同的语言,有自己的语法,并不和 javascript 一致。其中包括了很多日常使用的javascript函数,在wxs中都是不能同样使用的。最近在做一个列表的时候,涉及到时间格式化操作。就遇到了这个问题,以前写好了的格式化工具函数直接拷贝到小程序项目的wxs文件中,函数不能正常执行。其中包括了下面的几个错误

  1. 正则表达式在字符串的replace函数中的使用方法不一样,不能直接使用var a = /[0-9]/这种方式声明使用。正确的方式为var reg = getRegExp("-", "g");
  2. 获取当前时间不能通过new Date()获取,而是通过getDate方法获取。
  3. getDate('2018/12/12')可以获取对应日期的date类型的时间。

按照上面的异同,修改过后的时间格式化函数代码为

var formatNumber = function (n) {n = n.toString()return n[1] ? n : '0' + n
}var regYear = getRegExp("(y+)", "i");var dateFormat = function (timestamp, format) {if (!format) {format = "yyyy-MM-dd hh:mm:ss";}timestamp = parseInt(timestamp);// 通过getDate()方法获取date类型的时间var realDate = getDate(timestamp);function timeFormat(num) {return num < 10 ? '0' + num : num;}var date = [["M+", timeFormat(realDate.getMonth() + 1)],["d+", timeFormat(realDate.getDate())],["h+", timeFormat(realDate.getHours())],["m+", timeFormat(realDate.getMinutes())],["s+", timeFormat(realDate.getSeconds())],["q+", Math.floor((realDate.getMonth() + 3) / 3)],["S+", realDate.getMilliseconds()],];var reg1 = regYear.exec(format);// console.log(reg1[0]);if (reg1) {format = format.replace(reg1[1], (realDate.getFullYear() + '').substring(4 - reg1[1].length));}for (var i = 0; i < date.length; i++) {var k = date[i][0];var v = date[i][1];// getRegExp初始化一个正则表达式对象var reg2 = getRegExp("(" + k + ")").exec(format);if (reg2) {format = format.replace(reg2[1], reg2[1].length == 1? v : ("00" + v).substring(("" + v).length));}}return format;
}

把格式化的日期时间字符串转换成时间戳

function parse(fmt) {fmt1 = fmt.substring(0, 19);var reg = getRegExp("-", "g");fmt2 = fmt1.replace(reg, '/');var timestamp = getDate(fmt2).getTime();return timestamp;
}

调用方法如下

function getDateByDateTimeFmt(dateTimeFmt) {return dateFormat(parse(dateTimeFmt), 'MM月dd日');
}
getDateByDateTimeFmt('2012-12-12 13:12:12') // => 12月12日

字符串格式化成时间格式_小程序wxs中的时间格式化以及格式化时间和date时间互转...相关推荐

  1. 微信小程序 IOS中new Date()时间格式不兼容问题

    问题描述: 最近在小程序项目中遇到了处理Date时间格式的需求,在Android手机测试是没有发现问题的,但是在IOS上 时间转换出现了错误. 解决方案: 这里主要兼容问题在于Android可以处理 ...

  2. Win10怎么把磁盘格式化成exfat格式_使用命令格式化磁盘为exfat的方法

    Win10怎么把磁盘格式化成exfat格式_使用命令格式化磁盘为exfat的方法 发布时间:2020-03-10 14:24发布者:系统城-liumei浏览数:1100 exFAT是Microsoft ...

  3. 小程序确定取消弹窗_小程序开发之弹出框

    小程序开发过程中,很多地方为了便利我们多采用小程序自带弹出框来实现交互效果.这也够大多数开发使用,下面我给大家详细介绍下小程序弹出框 wx.showToast() title:显示的提示信息,在没有图 ...

  4. java写微信小程序答辩问题_微信小程序 开发中遇到问题总结

    微信小程序 开发中遇到问题总结 1.由于小程序wx.request()方法是异步的,在app.js执行ajax后,各分页加载app.js的全局数据时,无法按顺序加载.例: //app.js App({ ...

  5. web api接口开发实例_小程序开发如何调用 API 接口,以豆瓣电影为例

    API 调用是开发者在小程序开发过程中经常会遇到的问题,本期我们以为调用豆瓣电影 API 为例具体来看 API 的调用过程以及常见的一些问题. 测试用到的小程序是「电影周周看」,内容来自清华大学软件学 ...

  6. ios 微信浏览器 预加载_小程序页面预加载技术

    lightning-load-project 集成方式 看不效果览图的话,请看博客 https://blog.csdn.net/sinat_27612147/article/details/80802 ...

  7. 开发提交审核流程_小程序如何提交审核,多久能通过?

    小程序制作时需要代码开发的,因此,如果是想成为小程序商家的老板们,可以通过客源多这样的小程序制作公司来完成. 当然,老板们也可以多方面的了解一些小程序的制作过程,如果是想自己开发的程序员,这些审核流程 ...

  8. 微信小程序_小程序开发框架

    微信小程序_小程序开发框架 微信小程序框架 微信小程序小程序开发框架的目标是通过尽可能简单.高效的方式让开发者可以在微信中开发具有原生APP体验的服务. 框架提供了自己的视图层描述语言WXML和WXS ...

  9. 公众号跳转小程序首次没有数据_小程序如何从“0”开始运营,变成获客神器...

    随着发展,越来越多的企业都感觉到获客难,获客成本高.而小程序的诞生恰恰解决了这些问题.合理的利用小程序的功能,可以帮助商家低成本高效获客,今天我们就来谈谈具体怎么用小程序来拉新引流. 合理的利用小程序 ...

最新文章

  1. 将简历挂到云服务器网站上记
  2. ​什么是TCP/IP
  3. HDU 4135 Co-prime
  4. routing zuul_zuul自定义SimpleHostRoutingFilter
  5. 《Go语言程序设计》 读书笔记 (八) 包
  6. 1.PHP 扩展开始以及内核应用(1) --- PHP 的生命周期
  7. Python Web开发 Django框架下开发一个博客
  8. Repast HPC1.0.1实例运行总结
  9. 使用Python自动下载Himawari-8(葵花8)数据产品——以AOD L3级日均数据和小时数据为例
  10. 嵌入式100题(58):用户空间与内核通信方式有哪些?
  11. NYOJ-108-士兵杀敌(一)
  12. PS批量处理批量裁减不同尺寸图片教程(超详细教程 非常实用)-photoshop
  13. 图片裁剪工具之cropper.js
  14. Oreo对A2DP codec的支持
  15. 空中群体机器人研究综述
  16. 计算机课的答案,计算机专业答案-专业课B
  17. 健身管理系统 -健身管理软件模板
  18. 产品配件清单查询示例.sql
  19. Java系列(56)——结语
  20. 读《小王子三部曲-夜间飞行》有感

热门文章

  1. why quantity change in item can cause CUMULAT_H changed as well
  2. SAP Fiori smart template技术里CDS view的注解和UI元素对应关系
  3. pageSet还没完count就执行了
  4. ng-controller and ng-model的工作原理
  5. IFRAME中嵌入C4C UI
  6. PHP调试环境搭建的一些常见问题
  7. Java Spring源代码学习之how is bean scanned - did not answer when this.beanDefinitionNames is filled
  8. SAP 基于 ABAP 实现的 gateway 框架里,为什么默认返回100条数据?
  9. Cloud for Customer系统里的附件url,可以通过partner编程自己生成么
  10. 2016年2月工作日志