Saltar al contenido

¿Cómo se convierte una marca de tiempo de Unix a formato Jalali / Shamsi / persa?

Solución:

Sugeriría usar moment.js (https://momentjs.com/) que es una biblioteca de tiempo de JavaScript confiable que le permite formatear su marca de tiempo en JavaScript. A continuación se muestra un ejemplo de cómo puede analizar una marca de tiempo y formatearla como desee.

//formatting Unix timestamp.
var date = moment.unix(value).format("MM/DD/YYYY");

También etiquetó la localización que se puede hacer usando;

 var localeDate = moment(date).locale("LT");

Se pueden encontrar más ejemplos en el sitio web.

Esto junto con https://www.npmjs.com/package/jalali-date le dará su fecha de jalali.

Hay una extensión moment.js para persa aquí también https://www.npmjs.com/package/moment-jalaali (desde el momento hasta Jalali)

Otra biblioteca de conversión de Jalali https://www.npmjs.com/package/jalaali-js (Para Jalai)

Un violín de ejemplo usando la conversión de moment.js Jalali de Unix Timestamp https://jsfiddle.net/uw82ozpd/9/

Fragmento de código relevante con comentarios:

var UnixValue;
var JalaliValue;

$(document).ready(function() {

//get the Unix Date from HTML
var UnixValue = $(".Unix-Date").html();

//Get a moment timestamp in the format simmilar to our next conversion
var date = moment.unix(UnixValue).format("MM/DD/YY");

//Convert from normal moment to our jalali moment exstension using j's as below
var JalaliValue = moment(date).format('jYYYY/jM/jD');

$(".Jalali-Date").text(JalaliValue);

});

puedes usar toLocalDateString ()

let mydate = new Date(timestamp);
let mypersiandate = mydate.toLocaleDateString('fa-IR');
console.log(mypersiandate);

Tengo estas funciones simples:

function convertTimeStampToJalali(timestamp){
    var date = new Date(timestamp);
    if(!date)
        return false;
    return ( gregorian_to_jalali(date.getFullYear(),(date.getMonth()+1),date.getDate()) );
}//end of function convertTimeStampToJalali

function gregorian_to_jalali(gy,gm,gd){
    g_d_m=[0,31,59,90,120,151,181,212,243,273,304,334];
    if(gy > 1600){
        jy=979;
        gy-=1600;
    }else{
        jy=0;
        gy-=621;
    }
    gy2=(gm > 2)?(gy+1):gy;
    days=(365*gy) +(parseInt((gy2+3)/4)) -(parseInt((gy2+99)/100)) +(parseInt((gy2+399)/400)) -80 +gd +g_d_m[gm-1];
    jy+=33*(parseInt(days/12053)); 
    days%=12053;
    jy+=4*(parseInt(days/1461));
    days%=1461;
    if(days > 365){
        jy+=parseInt((days-1)/365);
        days=(days-1)%365;
    }
    jm=(days < 186)?1+parseInt(days/31):7+parseInt((days-186)/30);
    jd=1+((days < 186)?(days%31):((days-186)%30));
    return [jy,jm,jd];
}//end of function gregorian_to_jalali
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Search
Generic filters

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *