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

Sechs merkwürdige und nützliche Dinge über JavaScript

Inhaltsverzeichnis 1. Dekonstruktionstipps 2. Dig...

Beschreiben Sie kurz den Unterschied zwischen MySQL und Oracle

1. Oracle ist eine große Datenbank, während MySQL...

Nginx' praktische Methode zur Lösung domänenübergreifender Probleme

Trennen Sie Front- und Backend und lösen Sie domä...

Eine vollständige Liste gängiger Linux-Systembefehle für Anfänger

Das Erlernen von Linux-Befehlen stellt für die me...

Natives JS zum Erzielen von Book-Flipping-Effekten

In diesem Artikel wird ein mit nativem JS impleme...

CocosCreator-Tutorial für den Einstieg: Erstellen Sie Ihr erstes Spiel mit TS

Inhaltsverzeichnis Prämisse TypeScript vs. JavaSc...

Dieser Artikel hilft Ihnen, JavaScript-Variablen und -Datentypen zu verstehen

Inhaltsverzeichnis Vorwort: Freundliche Tipps: Va...

Detaillierte Erklärung der Docker-Nutzung unter CentOS8

1. Installation von Docker unter CentOS8 curl htt...