class Data {
public static function ExibirTempoDecorrido($date)
{
if(empty($date))
{
return "Informe a data";
}
$periodos = array("segundo", "minuto", "hora", "dia", "semana", "mês", "ano", "década");
$duracao = array("60","60","24","7","4.35","12","10");
$agora = time();
$unix_data = strtotime($date);
// check validity of date
if(empty($unix_data))
{
return "Bad date";
}
// is it future date or past date
if($agora > $unix_data)
{
$diferenca = $agora - $unix_data;
$tempo = "atrás";
}
else
{
$diferenca = $unix_data - $agora;
$tempo = "agora";
}
for($j = 0; $diferenca >= $duracao[$j] && $j < count($duracao)-1; $j++)
{
$diferenca /= $duracao[$j];
}
$diferenca = round($diferenca);
if($diferenca != 1)
{
$periodos[$j].= "s";
}
return "$diferenca $periodos[$j] {$tempo}";
}
}
Funciona redondinho se o valor retornado for de algumas horas, mas...
Quando passa de dois meses, ele retorna a palavra mess. Deve ser por conta dessa linha
if($diferenca != 1)
{
$periodos[$j].= "s";
}
Vou publicar um evento e quero colocar um Cronômetro regressivo que mostre em tempo real os dias, horas e minutos que faltam para determinada data, tipo:.
Faltam 5 dias, 12:30:00 para inauguração.
Qdo chegar no dia, quero que apenas apareça uma mensagem.
bom dia
tenho uma aplicação onde gero um arquivo em pdf, gostaria de recuperar a url do pdf q foi criado, pois quando este é criado ele abre automaticamente e ou ja faz o download do mesmo, preciso da url para enviar para outros.
<button type="button" class="btn btn-outline-primary" onclick="createPDF();">Imprimir</button>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.4.1/jspdf.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/canvas2image@1.0.5/canvas2image.min.js"></script>
<script language="javascript">
(function($){
$.fn.createPdf = function(parametros) {
var config = {
'fileName':'html-to-pdf'
};
if (parametros){
$.extend(config, parametros);
}
var orig = $(this);
var widthOrig = $(orig).width();
$(orig).width(900);
var quotes = document.getElementById($(orig).attr('id'));
html2canvas(quotes, {
onrendered: function(canvas) {
var pdf = new jsPDF('p', 'pt', 'letter');
for (var i = 0; i <= quotes.clientHeight/900; i++) {
var srcImg = canvas;
var sX = 0;
var sY = 900*i;
var sWidth = 900;
var sHeight = 900;
var dX = 0;
var dY = 0;
var dWidth = 900;
var dHeight = 900;
window.onePageCanvas = document.createElement("canvas");
onePageCanvas.setAttribute('width', 900);
onePageCanvas.setAttribute('height', 900);
var ctx = onePageCanvas.getContext('2d');
ctx.drawImage(srcImg,sX,sY,sWidth,sHeight,dX,dY,dWidth,dHeight);
var canvasDataURL = onePageCanvas.toDataURL("image/png", 1.0);
var width = onePageCanvas.width;
var height = onePageCanvas.clientHeight;
if (i > 0) {
pdf.addPage(612, 791);
}
pdf.setPage(i+1);
pdf.addImage(canvasDataURL, 'PNG', 20, 40, (width*.62), (height*.62));
// Retirar o comentário caso queira ver como está sendo gerado o canvas.
//document.body.appendChild(onePageCanvas);
}
pdf.save(config.fileName);
$(orig).width(widthOrig);
}
});
};
})(jQuery);
function createPDF() {
$('#renderPDF').createPdf({
'fileName' : '<?php echo $usercli['idocl']; ?>'
});
}
Boa tarde a todos.
tenho pesquisado e ainda não encontrei uma forma de montar uma imagem online, tipo, tenho uma área de 400px por 400px , nesta gostaria de acrescentar algumas imagens que já tenho, tipo clicar e arrastar para dentro, sendo que estas imagens já se encontram online no site, seria mais ou menos assim : poderia colocar dentro desta área uma imagem do gato , do cachorro e ou outra. Não sei qual biblioteca ou forma de fazer.
gostaria da ajuda para iniciar, desde já agradeço.