分享者:栖木,来自原文地址
给定一个时间字符串 var time="2017-02-27 16:42:53" js有三种转换为时间戳的方法:
1、var timestamp = Date.parse(time)
2、var timestamp = time.getTime()
3、var timestamp = time.valueOf()
第一种方法只能精确到秒,后两种能精确到毫秒。
然而相同的代码,在android上能正常执行,在ios上就会出错。
临下班来这么一出,被坑得贼惨,明天开始五一假期,只能晚上加班来解决小程序的这个坑。试过无数种方法后,最后用以下代码解决了问题:
var date=time.substr(0,10)//2017-02-27
var hour=time.substr(11,2).replace(/\b(0+)/gi,"") //16
var minute=time.substr(14,2).replace(/\b(0+)/gi,"") //42
var second=time.substr(17,2).replace(/\b(0+)/gi,"")//53
var timestamp =parseInt(new Date(date).getTime() / 1000)+parseInt(hour)*3600+parseInt(minute)*60+parseInt(second)-28800//别问我为什么-28800,只能告诉你实践出真知
var time=timestampFormat(timestamp)//timestampFormat:自定义的将时间戳转换为刚刚,昨天16:42等表达的方法
二:上滑加载更多
分享者:千一网络,来自原文地址
微信小程序自带有下拉刷新,但是没有自带上滑加载更多,不过网上说可以用scroll-view来实现。
但是 我并不推荐 scroll-view ,不过我们还是先看看用 scroll-view 的做法,再介绍一下我的做法。
<scroll-view style="height:500rpx;" scroll-y="true" bindscrolltoupper="loadNew" bindscrolltolower="loadMore">
<block wx:for="{{items}}">
<view class="section">
<video src=http://www.yiyongtong.com/archives/"{{item.videoUrl}}" controls></video>
<text>{{item.title}}</text>
</view>
</block>
</scroll-view>
一定要有两个属性:
一是在样式中指定 height。
二是指定scroll-y 为 true。
然后就可以用bindscrolltoupper监测滑到最上头了,用bindscrolltolower监测滑到最下头了。理论上它可以实现上拉刷新、下拉加载更多两种效果,但是效果不是很好。
而且它是滑到端头就响应事件,并不是需要继续拉一段距离才响应,这点不如enablePullDownRefresh完美。
还有:微信并不推荐在 scroll-view 中使用 textarea、map、canvas、video 组件。
还有: 在滚动 scroll-view 时会阻止页面回弹,所以在 scroll-view 中滚动,是无法触发 onPullDownRefresh。
所以还是介绍新的方案吧:onReachBottom
虽然也没有实现继续拉一段距离才响应,但是整个效果比 scroll-view 好多了。
Page({
onReachBottom: function()
{
this.loadList();