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 コマンドの使用方法の詳細な説明
お使いのコンピュータが Mac の場合、homebrew を使用して MySQL をインストールする...
Mysql-connector-java ドライバのバージョンの問題私のデータベースのバージョンは ...
目次シナリオ解決してみる解決するシナリオ今日、コンポーネントの双方向データバインディングにv-mod...
!DOCTYPE HTML ドキュメントが準拠するドキュメント型定義 (DTD) を指定します。 ...
まず、公式サイト https://dev.mysql.com/downloads/mysql/5.7...
最近、Mac システムを使用して、ローカル Web サーバー環境を構築する準備をしていました。 Ma...
序文MySQL では、InnoDB はストレージ エンジン レイヤーに属し、プラグインとしてデータベ...
カスタムパラメータを渡すだけhtml <div id="アプリ"> ...
Linux に VMWare をインストールするには、公式 Web サイト https://www....
Tomcatはプロジェクトにアクセスします。通常はIP + ポート + プロジェクト名です。 Ngi...
King of Glory をプレイしたことがある人なら、このページの効果をよくご存知でしょう。なぜ...
多くの人は、Scss を使用する瞬間からコンパイル方法を説明されてきました。したがって、コマンドのコ...
疑問が生じるこの質問は、ファイルのダウンロードを記述しているときに発生しました。HttpServle...
誰もがスクラッチ チケットで遊んだことがあると思います。子供の頃、ポケットにお金が入るとすぐに友達に...
目次1. 電卓機能の紹介2. 計算機ページのデザイン1. ナビゲーションバー2. データ部分3. i...