Implementierungsbeispiel für die Datums- und Uhrzeitverarbeitung des WeChat-Applets wxs

Implementierungsbeispiel für die Datums- und Uhrzeitverarbeitung des WeChat-Applets wxs

WXS (WeiXin Script) ist eine Skriptsprache für kleine Programme. WXS unterscheidet sich von JavaScript und hat eine eigene Syntax, die nicht mit JavaScript übereinstimmt. Es enthält viele täglich verwendete JavaScript-Funktionen, die in wxs nicht verwendet werden können. Als ich kürzlich eine Liste erstellte, war ich an Zeitformatierungsvorgängen beteiligt. Ich bin auf dieses Problem gestoßen. Die Formatierungstoolfunktion, die ich zuvor geschrieben habe, wurde direkt in die wxs-Datei des Applet-Projekts kopiert und die Funktion konnte nicht normal ausgeführt werden. Hierzu zählen unter anderem folgende Fehler

  • Die Verwendung regulärer Ausdrücke in der Ersetzungsfunktion eines Strings ist anders. Sie können sie nicht direkt mit var a = /[0-9]/ deklarieren. Der richtige Weg ist var reg = getRegExp("-", "g");
  • Die aktuelle Uhrzeit kann nicht über new Date(), sondern über die Methode getDate ermittelt werden.
  • getDate('2018/12/12') kann die Uhrzeit des Datumstyps abrufen, der dem Datum entspricht.

1. Zeitstempel bis heute

Um Daten in wxs zu verarbeiten, müssen Sie getDate(time) anstelle von new Date() verwenden.

In der wxs-Datei

var filter = {
    formatNumber: Funktion (n) {
        n = n.toString()
        gibt n[1] zurück?
      },
    parseTime: Funktion (Zeit, Typ) {
        wenn (Zeit == null || Typ == '') {
          zurückkehren ''
        }
        wenn (Argumente.Länge === 0) {
          return null
        }
        var date = getDate(time); // In wxs können Sie new Date() nicht zum Verarbeiten von Datumsangaben verwenden 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 = "";
        wenn (Typ == 'Monat') {
          Zeit_Str = y + '-' + m;
        } sonst wenn (Typ == 'Datum') {
          Zeit_Zeichenfolge = y + '-' + m + '-' + d;
        } sonst wenn (Typ == 'Datum/Uhrzeit') {
          Zeit_Str = y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;
        } sonst wenn (Typ == 'nurMonat') {
          Zeit_Str = m;
        } sonst wenn (Typ == 'nurJahr') {
          Zeit_Str = y;
        }
        return time_str
      },
 }
modul.exporte = {
    parseTime: filter.parseTime,
}

Verwendung in wxml

<wxs module="filters" src="../../../filters/filter.wxs"></wxs>
<text>{{filters.parseTime(Zeit,'Datum')}}</text>

2. Konvertieren Sie UTC in Pekinger Zeit

Die UTC-Zeit ist 8 Stunden später als die Peking-Zeit. Auf Apple-Telefonen müssen Sie das „Z“ entfernen, bevor die Zeit verarbeitet wird.

var filter = {
    formatNumber: Funktion (n) {
        n = n.toString()
        gibt n[1] zurück?
      },
    parseTime: Funktion (Zeit, Typ) {
    wenn (Zeit == null || Zeit == '') {
      zurückkehren ''
    }
    wenn (Argumente.Länge === 0) {
      return null
    }
    var Datum;
    wenn (Zeittyp === 'Objekt') {
      Datum = Uhrzeit
    } anders {
      wenn (('' + Zeit).Länge === 10) {
        Zeit = parseInt(Zeit) * 1000
      } anders {
        time = time.replace("Z", " ").replace(getRegExp('-', 'g'), "/")//Z entfernen, kompatibel mit Apple-Telefonen var ts = time.split('T')
        var t1 = ts[0]
        var t2 = ts[1].split('.')[0]
        Zeit = t1 + " " + t2
        time = getDate(time).getTime() + 8 * 3600000; //Die UTC-Zeit unterscheidet sich um 8 Stunden von der Peking-Zeit}
      date = getDate(time) //New Date() kann nicht verwendet werden
    }
    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 = "";
    wenn (Typ == 'Monat') {
      Zeit_Str = y + '-' + m;
    } sonst wenn (Typ == 'Datum') {
      Zeit_Str = y + '-' + m + '-' + d;
    } sonst wenn (Typ == 'Datum/Uhrzeit') {
      Zeit_Str = y + '-' + m + '-' + d + ' ' + h + ':' + i + ':' + s;
    } sonst wenn (Typ == 'nurMonat') {
      Zeit_Str = m;
    } sonst wenn (Typ == 'nurJahr') {
      Zeit_Str = y;
    }
    return time_str
  },
}
modul.exporte = {
    parseTime: filter.parseTime,
}

Dies ist das Ende dieses Artikels über das Implementierungsbeispiel der Datums- und Zeitverarbeitung des WeChat-Applets wxs. Weitere relevante Inhalte zum Datums- und Zeitbereich des Applets wxs finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Lernprogramm zur Verwendung des WeChat-Applets WXS
  • WeChat-Applet wxs erzielt Deckeneffekt
  • Das Applet verwendet wxs, um das Problem zu lösen, dass wxml zwei Dezimalstellen beibehält
  • WeChat-Applet implementiert wxss-Attributbeispiel für den Betrieb von wxml über js
  • Verwenden Sie wxss, um Bilder zu laden und Animationseffekte im WeChat-Applet zu realisieren
  • Beispiel für die Suchkomponente wxSearch des WeChat-Applets, ausführliche Erläuterung
  • So kompilieren Sie WeChat-Applet-lose Dateien in wxss-Dateien
  • WeChat Mini-Programm-Tutorial: WXSS
  • WeChat Mini-Programm WXML, WXSS und JS Einführung und detaillierte Erklärung

<<:  Detaillierte Erklärung der Verwendung des Linux-Befehls lsof

>>:  Lösung zum automatischen Neustart von MySQL

Artikel empfehlen

So verwenden Sie Typescript zum Kapseln von lokalem Speicher

Inhaltsverzeichnis Vorwort Szenarien für die Verw...

JavaScript-Flusskontrolle (Verzweigung)

Inhaltsverzeichnis 1. Prozesskontrolle 2. Sequent...

So konfigurieren Sie inländische Quellen in CentOS8 yum/dnf

CentOS 8 hat das Installationsprogramm für Softwa...

Realisierung des Karusselleffekts basierend auf jQuery

In diesem Artikel wird der spezifische Code von j...

Einführung in die Bereitstellung des Selenium-Crawler-Programms unter Linux

Inhaltsverzeichnis Vorwort 1. Was ist Selen? 2. N...

Lösung für das CSS-Höhenkollapsproblem

1. Hoher Einsturzgrad Im Dokumentfluss wird die H...

Über Front-End JavaScript ES6 Details

Inhaltsverzeichnis 1. Einleitung 1.1 Babel-Transc...

Detaillierte Konfiguration des mysql8.x-Docker-Remotezugriffs

Inhaltsverzeichnis Umweltbedingungen Aufgetretene...

So kopieren Sie eine MySQL-Tabelle

Inhaltsverzeichnis 1.mysqldump Ausführungsprozess...