小程序模板網(wǎng)

Canvas 基礎(chǔ)繪制,時(shí)間戳轉(zhuǎn)化為幾天前,幾小時(shí)前,幾分鐘前

發(fā)布時(shí)間:2018-02-06 15:42 所屬欄目:小程序開發(fā)教程

 


相關(guān)文章:跳坑《一百一十一》canvas相關(guān)問題說明 
以下所有 set 打頭的方法均為微信小程序特有, 去掉 set 即為 CanvasRenderingContext2D 的屬性名.

.stroke() 描出當(dāng)前路徑 
.setStrokeStyle(color) 設(shè)置路徑顏色 
.setLineWidth(Number lineWidth) 設(shè)置路徑寬度 
.setLineCap(String lineCap) 設(shè)置路徑端點(diǎn)樣式

.fill() 閉合并填充當(dāng)前路徑 
.setFillStyle(color) 設(shè)置填充色 
.setStrokeStyle(color) 設(shè)置路徑色

.beginPath() 開始路徑 
.moveTo() 創(chuàng)建一個(gè)點(diǎn) 
.lineTo() 創(chuàng)建一個(gè)點(diǎn)與上一個(gè)點(diǎn)連接 
.rac(x, y, 半徑, 開始弧度, 結(jié)束弧度, 逆時(shí)針) 畫一個(gè)弧形 
.rect(x, y, width, height) 畫一個(gè)矩形 
.closePath() 閉合路徑 
.rotate() 以原點(diǎn)為中心旋轉(zhuǎn) 
.translate(x, y) 偏移原點(diǎn)位置

備注: 與數(shù)學(xué)坐標(biāo)系 X 軸一致, Y 軸反轉(zhuǎn).

  • 畫布對象
  • 顏色對象 Gradient

設(shè)置陰影 
.setShadow(offsetX, offsetY, blur, color)

創(chuàng)建線性漸變色 
.createLinearGradient()

創(chuàng)建輻射漸變色 
.createCircularGradient()

創(chuàng)建漸變色點(diǎn) 
Gradient.addColorStop()

設(shè)置路徑轉(zhuǎn)折點(diǎn)樣式 
.setLineJoin(String lineJoin) 
.setMiterLimit(Number miterLimit)

 

二:時(shí)間戳轉(zhuǎn)化為幾天前,幾小時(shí)前,幾分鐘前

 

分享者:jfaerfa,來自原文地址 
做項(xiàng)目的時(shí)候后臺(tái)傳到前臺(tái)的時(shí)間格式都是時(shí)間戳,要是前臺(tái)直接顯示時(shí)間的話略顯普通,若是將其轉(zhuǎn)換成多久以前的發(fā)表的會(huì)不會(huì)覺得更好些呢?

那么如何寫一個(gè)微信小程序的時(shí)間戳轉(zhuǎn)換工具呢?附上小程序時(shí)間戳轉(zhuǎn)換效果圖: 

源碼 
timestamp.wxml

 

  1. <view class="v_beforetime">轉(zhuǎn)換前:{{time}}</view>
  2. <view class="v_aftertime">轉(zhuǎn)換后:{{aftertime}}</view>
  3. <button class="btn_changeTimestamp" bindtap="changeTimestamp"> 轉(zhuǎn)換 </button>

timestamp.wxss

 

  1. .page{
  2. height: 100%;
  3. width: 100%;
  4. }
  5.  
  6. .btn_changeTimestamp{
  7. width:400rpx;
  8. height:100rpx;
  9. margin-top: 20rpx;
  10. background:#0099FF;
  11. }
  12.  
  13. .v_beforetime{
  14. margin-top: 20rpx;
  15. background:#C0C0C0;
  16. }
  17. .v_aftertime{
  18. margin-top: 20rpx;
  19. background:#FF0000;
  20. }

timestamp.js

 

  1. // 時(shí)間戳轉(zhuǎn)換成剛剛、幾分鐘前、幾小時(shí)前、幾天前
  2.  
  3. //剛剛
  4. var just = new Date().getTime();
  5.  
  6. //幾分鐘前
  7. var afewminutesago = new Date("Nov 29, 2016 00:50:00").getTime();
  8.  
  9. //幾周前
  10. var afewweekago = new Date("Nov 29, 2016 00:50:00").getTime();
  11.  
  12. //幾年前
  13. var someday = new Date("Nov 21, 2012 01:15:00").getTime();
  14.  
  15. var helloData = {
  16. time: afewweekago
  17. }
  18.  
  19. function getDateDiff(dateTimeStamp){
  20. var result;
  21. var minute = 1000 * 60;
  22. var hour = minute * 60;
  23. var day = hour * 24;
  24. var halfamonth = day * 15;
  25. var month = day * 30;
  26. var now = new Date().getTime();
  27. var diffValue = now - dateTimeStamp;
  28. if(diffValue < 0){
  29. return;
  30. }
  31. var monthC =diffValue/month;
  32. var weekC =diffValue/(7*day);
  33. var dayC =diffValue/day;
  34. var hourC =diffValue/hour;
  35. var minC =diffValue/minute;
  36. if(monthC>=1){
  37. if(monthC<=12)
  38. result="" + parseInt(monthC) + "月前";
  39. else{
  40. result="" + parseInt(monthC/12) + "年前";
  41. }
  42. }
  43. else if(weekC>=1){
  44. result="" + parseInt(weekC) + "周前";
  45. }
  46. else if(dayC>=1){
  47. result=""+ parseInt(dayC) +"天前";
  48. }
  49. else if(hourC>=1){
  50. result=""+ parseInt(hourC) +"小時(shí)前";
  51. }
  52. else if(minC>=1){
  53. result=""+ parseInt(minC) +"分鐘前";
  54. }else{
  55. result="剛剛";
  56. }
  57.  
  58. return result;
  59. };
 

  1. Page({
  2. data: helloData,
  3. changeTimestamp: function (e) {
  4. var that = this;
  5. this.setData({
  6. aftertime: getDateDiff(that.data.time)
  7. })
  8. }
  9. })


本文地址:http://m.u-renovate.com/wxmini/doc/course/21634.html 復(fù)制鏈接 如需定制請聯(lián)系易優(yōu)客服咨詢:800182392 點(diǎn)擊咨詢
QQ在線咨詢
AI智能客服 ×