GNU/Linux >> Tutoriales Linux >  >> Linux

Imprimir fecha para el lunes de la semana actual (en bash)

Prueba esto para obtener la fecha del lunes actual.

wd=`date +%u`; 
let wd=wd-1; 
mon=`date --date="-$wd day" +%Y%m%d`;

Para aquellos de nosotros sin fechas GNU (como nosotros OS Xers), podemos tener el parámetro "-v"

A continuación, puede hacer esto:

# Most recent Monday
date -v -Mon

# Output as of this writing
Mon Jun 24 12:35:48 EDT 2013

date -v -Mon "+%Y%m%d"

# Outputs
20130624

Esto tampoco parece ser un problema si hoy es lunes, en mi caso actual jueves

# Today's date
date

# Outputs
Thu Jun 27 12:41:39 EDT 2013

# Most recent Thursday
date -v -Thu

# Outputs
Thu Jun 27 12:41:46 EDT 2013

#monday
date -dmonday +%Y%m%d

#last monday
date -dlast-monday +%Y%m%d

#next monday
date -dnext-monday +%Y%m%d

#two mondays from now
date -d'monday+14 days' +%Y%m%d

#two mondays ago
date -d'monday-14 days' +%Y%m%d

#although, if you fancy yourself an Abraham Lincolin
date -d'monday-fortnight ago' +%Y%m%d #2 weeks ago
date -d'monday+fortnight' +%Y%m%d #2 weeks from now

#Monday Next Year
date -d'52+monday' +%Y%m%d

#However, Monday Last Year
date -d'52-monday' +%Y%m%d  #DOES NOT  WORK




#you can try a day other than monday
#and format this differently.

si lo que busca es un rango, es posible que deba hacer algunas cosas

#Tuesday to Sunday
#since today is monday, I'll use Tuesday
echo `date -dtuesday +%Y%m%d-``date -dnext-sunday +%Y%m%d`

que generaría:

20110628-20110703

Más sobre fechas

tenga en cuenta que esto solo funciona en la fecha GNU

He leído que:

Versión de fecha de Solaris, que no puede admitir -d se puede resolver reemplazando la versión de sunfreeware.com de la fecha


Creo que esto realmente responde a lo que se solicitó:

date -d "next monday - 7 days"

Linux
  1. Consejos de Bash para el día a día en la línea de comandos

  2. Dos excelentes usos para el comando cp:accesos directos de Bash

  3. ¿Es posible que la finalización de Bash pase por las alternativas?

  4. Linux:¿obtener archivos para la fecha actual en Linux?

  5. Manteniéndote al tanto – Bash For, While, Until Ejemplos de bucles

Cómo obtener la fecha y hora actuales en Python

Trucos de formato para el comando de fecha de Linux

Bash For Loop:la guía más práctica

El Bash FOR Loop explicado y simplificado

¿Cómo puedo obtener la fecha y la hora actuales en la terminal y establecer un comando personalizado en la terminal para ello?

Cómo determinar el número de semana del mes.