Convertir un String a formato date Time en PHP

Una consulta,

Tengo una funcion la cual al entregarle una fecha especifica me retorna el primer dia de la semana de la fecha entregada(hasta aca no hay problema).

El problema es que la funcion necesita un parametro del formato “DateTime”, y hasta el momento no he podido convertir un String y que la funciona me funciona correctamente.

Tengo el siguiente codigo:

<?php      if(isset($  _POST)){                   $  new_date = $  _POST['today']; // capturo la fecha que viene de un DatePicker           $  fecha = new datetime();          $  fechafinal = $  fecha->createFromFormat('d-m-y', $  new_date);                  // $  specifiedDate = new DateTime('10/09/2019'); este es el codigo original y funciona bien cuando al fecha se escribe manualmente.          $  date = firstDayOf('week', $  fechafinal);         echo $  date->format('l, jS F Y');       } ?> 

PD: este es el primer codigo en PHP y web que realizado, y estoy un poco perdido con el tema de las conversion de formato.

¿Cómo convertir imágenes tiff con formato de compresión LZW a CCITT4?

Buenas tardes comunidad,

tengo un problema con la conversión de una imágen en formato TIFF con compresión LZW a una compresión CCITT4. El proyecto está hecho en visual studio 2005. Haciendo pruebas e investigando un poco, encontré que esto era posible utilizando las librerías de microsoft System.Drawing. Pero a la hora de probarlo, no funciona, arroja un error que dice “Parameter is not valid” a la hora de guardar la imágen. Cabe mencionar que el error solo se presenta con el encoder CCITT4. Si pongo LZW funciona correctamente. Indagando un poco más, me encontré con que esto no es compatible con el sistema operativo (Windows Server 2003) Comparto el código:

using System; using System.Collections.Generic; using System.Text; using System.Drawing; using System.Drawing.Imaging; using System.IO;  static void Main(string[] args)     {         using (MemoryStream memStream = new MemoryStream())         {             string fileOriginRoute = @"C:\Documents and Settings\user\My Documents\Imagenes\";             string fileDestinationRoute = @"C:\Documents and Settings\user\My Documents\ImagenesConvertidas\";             string fileName = "Imagen.tif";             Bitmap myBitmap;             myBitmap = new Bitmap(fileOriginRoute + fileName);             ImageCodecInfo myImageCodecInfo;             myImageCodecInfo = GetEncoderInfo("image/tiff");             System.Drawing.Imaging.Encoder myEncoder;             myEncoder = System.Drawing.Imaging.Encoder.Compression;             EncoderParameters myEncoderParameters;             myEncoderParameters = new EncoderParameters(1);             EncoderParameter myEncoderParameter;             myEncoderParameter = new EncoderParameter(myEncoder, (long)EncoderValue.CompressionCCITT4);             myEncoderParameters.Param[0] = myEncoderParameter;             try             {                 myBitmap.Save(memStream, myImageCodecInfo, myEncoderParameters);             }             catch (Exception e)             {                 Console.WriteLine(e.Message);             }             Console.ReadKey();         }     }     private static ImageCodecInfo GetEncoderInfo(String mimeType)     {         int j;         ImageCodecInfo[] encoders;         encoders = ImageCodecInfo.GetImageEncoders();         for (j = 0; j < encoders.Length; ++j)         {             if (encoders[j].MimeType == mimeType)                 return encoders[j];         }         return null;     } 

Gracias de antemano.

Tengo problemas para mostrar el formato de etiqueta que necesito

necesito mostrar esto en mi gráfico de barras y no pude lograr configurar el complemento de charts js datalabel-plugin, tengo un api de donde me llegan los datos, el ultimo arreglo de datos “porcentaje” debe mostrarse cada uno de esos valores cada 30 días del total de 360 días que tiene el gráfico. Les agradecería muchísimo su ayuda. introducir la descripción de la imagen aquí

Código:

var XValues = [   0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,   45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,   66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86,   87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105,   106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121,   122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137,   138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153,   154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169,   170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185,   186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201,   202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217,   218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233,   234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249,   250, 251, 252, 253, 254, 255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265,   266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281,   282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297,   298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313,   314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,   330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345,   346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360 ];  var YValues = [   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 50000.0, 0.0,   0.0, 0.0, 0.0, 1220779.6, 130000.0, 296000.0, 1162027.14, 0.0, 0.0, 2768482.84,   373769.69, 3266877.14, 954752.3, 0.0, 2179743.89, 1119815.91, 0.0, 1546573.58,   2295188.35, 5766416.61, 2400059.89, 1362544.32, 2065125.0, 0.0, 2614227.3, 4312441.03,   1567752.45, 396385.85, 784367.19, 1251550.85, 649401.57, 1960851.15, 2418563.82,   5763793.94, 770000.0, 200000.0, 1000000.0, 489582.34, 8701720.72, 4233160.43, 0.0,   800000.0, 3275422.23, 0.0, 0.0, 10834000.0, 9480157.63, 5458915.89, 1248660.23,   3076394.38, 0.0, 1248800.0, 1300000.0, 3239404.21, 4721667.16, 6325239.51, 723000.0,   120500.0, 0.0, 2700856.83, 300000.0, 6085455.79, 12365548.65, 250000.0, 2275793.87,   816111.3, 2312688.39, 1193043.0, 1684344.47, 650000.0, 2970000.0, 0.0, 0.0, 814123.8,   3000000.0, 1482929.54, 1597000.0, 2145474.31, 883611.12, 0.0, 1344585.29, 2223230.0,   2906253.0, 1478849.38, 1100001.0, 0.0, 500347.76, 0.0, 0.0, 1002860.0, 1378000.0, 2300000.0,   0.0, 672000.0, 12794114.88, 0.0, 1533827.5, 320000.0, 2214936.52, 0.0, 0.0, 2183429.87, 1200000.0,   2215000.0, 800000.0, 959169.9, 1000000.0, 0.0, 0.0, 864901.01, 650000.0, 650000.0, 20000.0,   300000.0, 239289.19, 0.0, 200000.0, 2963732.7, 0.0, 20000.0, 0.0, 0.0, 611631.66, 300000.0,   0.0, 250000.0, 250000.0, 0.0, 0.0, 0.0, 0.0, 622281.05, 0.0, 20000.0, 0.0, 0.0, 0.0, 0.0,   758217.94, 0.0, 0.0, 0.0, 0.0, 0.0, 2250000.0, 337580.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   150000.0, 0.0, 0.0, 0.0, 0.0, 855543.06, 36700.0, 0.0, 370000.0, 0.0, 0.0, 0.0, 200000.0,   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 130000.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,   0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0 ];  var porcentajes = [30, 8, 10, 6, 3];  var barChart = new Chart(document.getElementById("sub"), {   type: 'bar',   data: {     labels: XValues,     datasets: [{       label: "Cheques",       data: YValues,       backgroundColor: "rgba(100,100,200, .4)",       borderColor: "rgba(100,100,200, 1)",       borderWidth: 1.5     }]   },   options: {     responsive: true,     legend: {       display: false,     },     tooltips: {       callbacks: {         label: function(t, d) {           return d.datasets[t.datasetIndex].label         },         afterLabel: function(t, d) {           return [t.xLabel + " Días", "$   " + t.yLabel.toLocaleString('es-AR')];         },         title: function(tooltipItem, data) {           return;         },       }     },     scales: {       xAxes: [{          barThickness: 3,         ticks: {           stepSize: 5,            autoSkip: true,           maxTicksLimit: 12         },          scaleLabel: {           display: true,           fontSize: 8,           labelString: 'Vencimiento (dias)'         },        }],       yAxes: [{         display: true,         scaleLabel: {           display: true,           fontSize: 8,           labelString: 'Importe ($  )'         },         ticks: {           beginAtZero: true,           callback: function(label, index, labels) {             if (label == 0) {               return "   0";             }             if (label >= 1 && label <= 9) {               return "     " + label;             }             if (label >= 10 && label <= 99) {               return "   " + label;             }             if (label >= 100 && label <= 999) {               return " " + label;             }             if (label >= 1000 && label <= 9999) {               return "   " + (label + "").slice(0, 1) + "K";             }             if (label >= 10000 && label <= 99999) {               return " " + (label + "").slice(0, 2) + "K";             }             if (label >= 100000 && label <= 999999) {               return "0." + (label + "").slice(0, 1) + "M";             }             if (label >= 1000000 && label <= 9999999) {               return "   " + (label + "").slice(0, 1) + "M";             }             if (label >= 10000000 && label <= 99999999) {               return " " + (label + "").slice(0, 2) + "M";             }             if (label >= 100000000 && label <= 999999999) {               return (label + "").slice(0, 3) + "M";             }             if (label >= 1000000000 && label <= 9999999999) {               return " " + (label + "").slice(0, 1) + "mM";             }             if (label >= 10000000000 && label <= 99999999999) {               return (label + "").slice(0, 2) + "mM";             }           }         },        }]     },      Plugins: {       datalabels: {         anchor: 'end',         aling: 'end',        }     }    } });
<!DOCTYPE html>  <html>     <meta http-equiv="content-type" content="text/html; charset=utf-8" />   <!--Boostrap Styles-->   <!-- <link href="css/style.css" rel="stylesheet" />         <link href="css/myCustomStyle.css" rel="stylesheet" /> -->    <body>      <div class="row">       <div class="col-md-12">         <canvas id="sub" height="100"></canvas> <!-- Bar chart-->       </div>     </div>      <!-- <script src="lib/moment/moment-with-locales.min.js"></script> -->     <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.bundle.min.js"></script>     <script src="https://cdn.jsdelivr.net/gh/emn178/chartjs-plugin-labels/src/chartjs-plugin-labels.js"></script>       <!-- <script src="lib/jquery/dist/jquery.min.js"></script>     -->     <!-- <script src="lib/bootstrap/dist/js/bootstrap.min.js"></script>   -->    </body>  </html>

Fiddle original: https://jsfiddle.net/xqp2s567

Cambiar formato de fecha que se muestra en una tabla html desde Base de Datos

El formato de fecha extraida desde sql es 2019-09-10 lo que requiere es cambiar el formato de esa fecha a 10 Septiembre 2019.

En la base de datos el input de fecha está como date.

Éste es el código:

<?php require_once 'conexion.php'; $  result; $  conn = dbConnect(); $  sql = 'SELECT * FROM date_prices'   $  result = $  conn->query($  sql);        $  rows = $  result->fetchAll();     ?> <div class="table-responsive"> <table>                     <thead>                         <tr>                             <th>Dates</th>                             <th>Public Prices</th>                         </tr>                     </thead>                     <tbody>     <tbody>     <?php         foreach ($  rows as $  row) {        ?>                          <tr>                             <td>                             <?php echo $  row['date_start'];?> al <?php echo $  row['date_end']; ?>                             </td>                              <td>                         <?php echo $  row['public_price']; ?>                         </tr>      <?php } ?> 

Cambio de formato y valor de la hora despues de mapear JSON a OBJETO

Tengo un JSON que recibo al cual a la hora de manejarlo me pasa una cosa curiosa.

El JSON es el siguiente :

{"id":"10","createdAt":"2019-08-20T06:58:27.848Z","data":""} 

Ese JSON entrante lo convierto en un objeto usando el ObjectMapper

final Bean bean = mapper.readValue(jsonData, Bean.class); bean.getCreatedAt(); //Tue Aug 20 08:58:27 CEST 2019 

Mi duda es:

  1. Se que la fecha que recibo en el JSON no sale la marca con la zona horaria, pero ¿Por que me coge la hora de mi equipo y me añade las dos horas de la zona horaria de España?
  2. Si lograse la hora sin la alteración de la zona horaria (Tue Aug 20 06:58:27 CEST 2019) ¿Como podría formatear la hora a formato original que me llego el JSON (2019-08-20T06:58:27.848Z)?

Duda sobre formato de video

En mi sitio tengo un video, el cuál subí en 3 formatos diferentes. Esto hace que a veces tarde bastante en cargar mi sitio.
¿Está bien si dejo un solo formato y los otros dos los saco? ¿Cuál formato me conviene dejar que sea compatible con todos o la mayoría de los navegadores tanto para escritorio como para teléfono?

Estos son los formatos en los que lo subí:

<video muted loop id=myVideo data-autoplay poster=imgs/video.jpg> <source src=imgs/videos/entrada.mp4 type=video/mp4> <source src=imgs/videos/entrada.ogg type=video/ogg> <source src=imgs/videos/entrada.webm type=video/webm> Your browser does not support HTML5 video. </video>

Objecto en formato string dentro de valor de un JSON

Bueno tengo el siguiente JSON:

{   "creatorId": "#1",   "data": {             "id": "10",             "creator": "#1"         },   "subs": ["1"] } 

Pero el contenido de data no debe de ser un objeto. Sino un objecto en formato string.

{   "creatorId": "#1",   "data": "{               \"id\": \"10\",               \"creator\": \"#1\"             }",   "subs": ["1"] } 

Todo esto es debido a que mi intencion es recoger el campo data del JSON y convertirlo en un objeto js.

const dataObj = JSON.parse(recoverJson.data); 

Y claro lo más sencillo sería pasarle directamente el objecto y no tener que estar recogiendo el string y así. Pero es requisito de API que lo que llegue sea un string.

Como podria montar el JSON con un objeto “strigificado”

Mantener formato de fecha ASP.NET MVC

Tengo un modelo, el cual tiene un campo DateTime, por lo que utilizo DateType.Date para visualizar en las vistas el calendario. Mi problema es que el calendario se despliega con el formato correcto de fecha de acuerdo a mi zona (dd/MM/yyyy), pero el servidor en el cual subo la aplicación utiliza el formato MM/dd/yyyy, entonces da problemas ya que no reconoce al string que pone el calendario como un formato de fecha válido. Mi modelo actualmente se ve así

[Display(Name = "Fecha de nacimiento")]     [Required(ErrorMessage = "Campo requerido.")]     [DataType(DataType.Date)]     [DisplayFormat(DataFormatString = "{0:dd/MM/yyyy}", ApplyFormatInEditMode = true)]     public DateTime FechaNacimiento     {         get { return fechaNacimiento; }         set { fechaNacimiento = value; }     } 

También probé utilizando DateTime.ParseExact(formCollection["fechaNacimiento"], "dd-MM-yyyy" y sigue sin funcionarme.