Moment: Satu huruf dari Sekarang () format

Dibuat pada 29 Nov 2015  ·  21Komentar  ·  Sumber: moment/moment

Mencoba menggunakan satu huruf untuk menjelaskan format dengan moment().fromNow();

Contoh: berlawanan dengan 1 hour , 1 day , 1 week . Ingin memiliki 1h , 1d , 1w .

Apakah ini pengaturan yang saya lewatkan untuk menggunakan format satu huruf seperti itu?

Komentar yang paling membantu

Anda dapat mengatur ini melalui lokal:

  moment.locale('en', {
    relativeTime: {
      future: 'in %s',
      past: '%s ago',
      s:  'seconds',
      ss: '%ss',
      m:  'a minute',
      mm: '%dm',
      h:  'an hour',
      hh: '%dh',
      d:  'a day',
      dd: '%dd',
      M:  'a month',
      MM: '%dM',
      y:  'a year',
      yy: '%dY'
    }
  });

Semua 21 komentar

Saya tidak berpikir momen memiliki fitur ini sekarang.
Anda dapat merujuk ke http://momentjs.com/docs/#/displaying/fromnow/

Sebenarnya Anda dapat menulis fungsi Anda sendiri untuk melakukan ini, jadi tidak yakin apakah momen benar-benar perlu mendukungnya.
Satu pertanyaan menarik adalah jika momen mendukung fitur ini, lalu apa label singkat untuk "beberapa detik"?

Itu akan menjadi "s" (contoh: 5s, 35s) tetapi, memiliki jumlah detik. Berurusan dengan sejumlah kecil realestate pada sebuah proyek.

Anda dapat mengatur ini melalui lokal:

  moment.locale('en', {
    relativeTime: {
      future: 'in %s',
      past: '%s ago',
      s:  'seconds',
      ss: '%ss',
      m:  'a minute',
      mm: '%dm',
      h:  'an hour',
      hh: '%dh',
      d:  'a day',
      dd: '%dd',
      M:  'a month',
      MM: '%dM',
      y:  'a year',
      yy: '%dY'
    }
  });

Ya, pengaturan lokal adalah pendekatan yang disarankan.

Lihat: http://momentjs.com/docs/#/customization/relative -time/

Saya sangat ingin melihat fitur ini diimplementasikan dalam basis kode inti. Singkatan singkat gaya instagram ini cukup umum di mana-mana akhir-akhir ini.

Ya, saya setuju, cukup mudah untuk menyesuaikan untuk satu bahasa. Tapi... jika aplikasi Anda perlu mendukung banyak bahasa, tiba-tiba Anda harus menangani penyesuaian dalam semua bahasa yang Anda dukung. Akan sangat menyenangkan jika kekuatan komunitas momen menanggung beban itu.

Tidak hanya aplikasi yang perlu mendukung banyak lokal, tetapi aplikasi yang perlu menampilkan format pendek dan panjang di bagian yang berbeda juga akan mendapat manfaat dari ini. Saat ini, saya harus menggunakan solusi di milik saya.

+1 - hal seperti inilah yang membuat momen begitu hebat

+1 (& benjolan), juga ingin melihat ini terjadi

+1 - Mencari ini sekarang.

:+1:

👍

+1

+999999999999999

+1 tolong

+1

var timeSince = function(date) {
  if (typeof date !== 'object') {
    date = new Date(date);
  }

  var seconds = Math.floor((new Date() - date) / 1000);
  var intervalType;

  var interval = Math.floor(seconds / 31536000);
  if (interval >= 1) {
    intervalType = 'y';
  } else {
    interval = Math.floor(seconds / 2592000);
    if (interval >= 1) {
      intervalType = 'm';
    } else {
      interval = Math.floor(seconds / 86400);
      if (interval >= 1) {
        intervalType = 'd';
      } else {
        interval = Math.floor(seconds / 3600);
        if (interval >= 1) {
          intervalType = "h";
        } else {
          interval = Math.floor(seconds / 60);
          if (interval >= 1) {
            intervalType = "m";
          } else {
            interval = seconds;
            intervalType = "now";
          }
        }
      }
    }
  }

  if (interval > 1 || interval === 0) {
    intervalType += 's';
  }

  return interval + ' ' + intervalType;
};

Sumber: https://stackoverflow.com/questions/3177836/how-to-format-time-since-xxx-eg-4-minutes-ago-similar-to-stack-exchange-site

+1 kami membutuhkannya

@dlindahl Terima kasih banyak atas solusi yang luar biasa. Sekarang saya tahu bagaimana menangani perubahan lokal untuk format tanggal

Saya melakukan ini untuk bahasa Inggris dan Jerman:

  moment.updateLocale('en', {
    relativeTime: {
      future : 'in %s',
      past   : '%s ago',
      s  : function (number, withoutSuffix) {
        return withoutSuffix ? 'now' : 'a few seconds';
      },
      m  : '1m',
      mm : '%dm',
      h  : '1h',
      hh : '%dh',
      d  : '1d',
      dd : '%dd',
      M  : '1mth',
      MM : '%dmth',
      y  : '1y',
      yy : '%dy'
    }
  });
  moment.updateLocale('de', {
    relativeTime: {
      future : 'in %s',
      past : 'vor %s',
      s  : function (number, withoutSuffix) {
        return withoutSuffix ? 'jetzt' : 'ein paar Sekunden';
      },
      m  : '1min',
      mm : '%dmin',
      h  : '1Std',
      hh : '%dStd',
      d  : '1T',
      dd : '%dT',
      M  : '1M',
      MM : '%dM',
      y  : '1J',
      yy : '%dJ'
    }
  });

+1 memiliki fungsi ke-2; Saya ingin kedua formulir pendek + panjang tersedia.
Saya akan menyarankan 'mo' untuk bulan dalam bahasa Inggris

solusi saya untuk menambahkan format misalnya format satu hari atau satu tahun atau sesuatu, saya melakukan seperti ini:

let time=moment(re.date).fromNow(true);
let format=this.formatDate(time);
formatDate(date){
    let strDate=date.split(" ");
    let format="";
    if(strDate[0]=="un"||strDate[0]=="a"){
      strDate[0]="1";
      format=strDate[0]+strDate[1][0];
      return format
    }
    format=strDate[0]+strDate[1][0];
    return format

  }

kembali misalnya 1d, 3y, 1m

Salam

Apakah halaman ini membantu?
0 / 5 - 0 peringkat