WXS (WeiXin Script) は、小規模なプログラム用のスクリプト言語です。WXS は JavaScript とは異なる言語であり、JavaScript と一致しない独自の構文を持っています。 wxs では使用できませんが、日常的に使用される JavaScript 関数が多数含まれています。最近、リストを作成しているときに、時間のフォーマット操作に携わりました。この問題が発生しました。以前作成した書式設定ツール関数がアプレットプロジェクトの wxs ファイルに直接コピーされ、関数を正常に実行できませんでした。これらには以下のエラーが含まれます
1. 日付までのタイムスタンプwxs で日付を処理するには、new Date() ではなく getDate(time) を使用する必要があります。 wxsファイル内 var フィルター = { フォーマット番号: 関数 (n) { n = n.toString() n[1] ? n : '0' + n を返す }, parseTime: 関数 (時間, タイプ) { if (time == null || type == '') { 戻る '' } (引数の長さ === 0)の場合{ nullを返す } var date = getDate(time); // wxs では、new Date() を使用して日付を処理することはできません。console.log("date", date); var y = date.getFullYear(); var m = filter.formatNumber(date.getMonth() + 1); var d = filter.formatNumber(date.getDate()); var h = filter.formatNumber(date.getHours()); var i = filter.formatNumber(date.getMinutes()); var s = filter.formatNumber(date.getSeconds()); var a = filter.formatNumber(date.getDay()); var time_str = ""; if (type == '月') { 時間_str = y + '-' + m; } そうでない場合 (type == 'date') { time_str = y + '-' + m + '-' + d; } そうでない場合 (type == 'datetime') { time_str = y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s; } そうでない場合 (type == 'onlyMonth') { 時間の長さ } そうでない場合 (type == 'onlyYear') { タイムスタンプy } time_strを返す }, } モジュール.エクスポート = { パースタイム: filter.parseTime、 } wxmlでの使用 <wxs モジュール="フィルター" src="../../../filters/filter.wxs"></wxs> <text>{{filters.parseTime(time,'date')}}</text> 2. UTCを北京時間に変換するUTC 時間は北京時間より 8 時間遅れています。Apple の携帯電話では、時間を処理する前に「Z」を削除する必要があります。 var フィルター = { フォーマット番号: 関数 (n) { n = n.toString() n[1] ? n : '0' + n を返す }, parseTime: 関数 (時間, タイプ) { if (time == null || time == '') { 戻る '' } (引数の長さ === 0)の場合{ nullを返す } var 日付; if (typeof time === 'object') { 日付 = 時間 } それ以外 { if (('' + 時間).長さ === 10) { 時間 = parseInt(時間) * 1000 } それ以外 { time = time.replace("Z", " ").replace(getRegExp('-', 'g'), "/")//Z を削除します。Apple の携帯電話と互換性があります。var ts = time.split('T') var t1 = ts[0] var t2 = ts[1].split('.')[0] 時間 = t1 + " " + t2 time = getDate(time).getTime() + 8 * 3600000; // UTC 時間は北京時間と 8 時間異なります} date = getDate(time) //new Date() は使用できません } var y = date.getFullYear(); var m = filter.formatNumber(date.getMonth() + 1); var d = filter.formatNumber(date.getDate()); var h = filter.formatNumber(date.getHours()); var i = filter.formatNumber(date.getMinutes()); var s = filter.formatNumber(date.getSeconds()); var a = filter.formatNumber(date.getDay()); var time_str = ""; if (type == '月') { 時間_str = y + '-' + m; } そうでない場合 (type == 'date') { time_str = y + '-' + m + '-' + d; } そうでない場合 (type == 'datetime') { time_str = y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s; } そうでない場合 (type == 'onlyMonth') { 時間の長さ } そうでない場合 (type == 'onlyYear') { タイムスタンプy } time_strを返す }, } モジュール.エクスポート = { パースタイム: filter.parseTime、 } WeChatアプレットwxsの日付と時刻処理の実装例に関するこの記事はこれで終わりです。より関連性の高いアプレットwxsの日付と時刻のコンテンツについては、123WORDPRESS.COMの以前の記事を検索するか、次の関連記事を引き続き閲覧してください。今後も123WORDPRESS.COMを応援していただければ幸いです。 以下もご興味があるかもしれません:
|
<<: Linux lsof コマンドの使用方法の詳細な説明
今日は、Taobao、JD.comなどのショッピングモールでよく使われている、小さな画像の上にマウス...
成果を達成する実装コードhtml <base href="https://s3-us...
目次1. デフォルトの焦点はボディにあります2. テキストボックスのフォーカスを手動で取得する3. ...
Ubuntu をインストールしたばかりですが、開いたときにネットワーク接続がありませんでした。右上隅...
mysql が誤ってデータを削除しました削除ステートメントを使用して誤ってデータ行を削除する誤ってデ...
SELECT * FROM テーブル名制限m,n; SELECT * FROM テーブル LIMI...
1. 本番環境でMySQLのデッドロックを監視し、デッドロックの可能性を減らす方法まず、デッドロック...
この記事では、Linuxサーバー上でDockerを使用してNexusプライベートサーバーを構築する方...
タイトルの通り、ページを修正すると以下のような状況が発生する可能性があります。現在、古いページを改修...
目次一方向データフローの説明Vue2.x の使用法親コンポーネントに変更を通知するイベントのフォーム...
https をサポートしていない Web サイトは、ブラウザによって徐々に安全でないとマークされるた...
この記事では、いくつかの基本的なページ要素の実装方法をまとめており、後で更新される予定です。まず、私...
1. mycatとはエンタープライズアプリケーション開発のための完全にオープンソースの大規模データベ...
目次はじめるデータストレージサーバーを構成するRedis セキュリティの管理Redisインストールの...
設置環境セントス環境依存性: yum -y gccをインストールします yum インストール -y ...