Estoy buscando un comando directo de Unix para obtener el primer domingo del próximo mes, el primer lunes del próximo mes, el primer martes del próximo mes, el primer miércoles del próximo mes, etc.
Los necesitaré en el formato de fecha completo (el tiempo no es obligatorio)
Puedo obtener números como 2, 3, 4, etc. Como no quiero solo números, los necesitaré en formato de fecha (incluye día, mes, año)
$ NEXT_MONTH=`date +'%m %Y' -d 'next month'` $ echo $NEXT_MONTH 04 2017 $ NEXT_SUNDAY=`cal $NEXT_MONTH | awk 'NF==7 && !/^Su/{print $1;exit}'` $ echo $NEXT_SUNDAY 2Necesitaré estas fechas para enviar notificaciones para el grupo de correo electrónico.
Ej: podría obtener el primer sábado del próximo mes como se muestra a continuación.
$ firstofmonth=$(date -d '+1 months' '+%Y%m01')
20170401
$ firstsaturday=$(date -d "$firstofmonth" '+%Y-%m')-$((7 - \
$(date -d "$firstofmonth" '+%u') ))
2017-04-1

bashes un clon inacabado de ksh (con algunas características de (t) csh y zsh e incluso algunas propias). Las versiones recientes debashhan agregado soporte paraprintf '%(format)T'fromksh93, pero no la capacidad de analizar este tipo de especificaciones de fecha. Reemplace su she-bang con#! /path/to/ksh93 -.bashes un clon inacabado de ksh": siempre me he sentido así.Suponiendo GNU
date(para eso-dte estás usando a ti mismo), y unzshshell similar para{1..7}:Reemplace el
awkMoncon cualquier día de la semana que sea necesario (useLC_ALL=Cpara obtener los nombres de los meses en inglés, independientemente de la configuración regional del usuario). Además, podría ser mejor almacenar esto en una variable si va a volver a consultar para cada día de la semana:fuente
PHP en realidad hace que sea bastante fácil analizar fechas con entrada de texto, si está disponible en su sistema.
Ejemplo:
Tengo esta función en mi .bashrc:
Que puedo usar como:
Opción Editar Añadir para usar
calCasi todos los sistemas que tenga
bashtendráncal. El programa del calendario. Usted puede obtener una lista de la fecha de la primera semana de cada día mediante la ejecución de una combinación decal,dateyawk, de la siguiente manera:Lo que te dará el siguiente resultado:
Cambie
$2a$NFen la declaración awk para obtener la fecha de la última ocurrencia de cada día en un mes.fuente
phpinstalados. He puesto al día con un ejemplo que utiliza loscal,dateyawklos comandos.