Shell根据日期、月份、星期判断年份的代码

已知三个时间变量:
time1="Fri Aug 23 11:35:21"
time2="Mon Sep 2 16:18:09"
time3="Tue Sep 3 16:06:33"
已知这三个时间可以确定是发生在2011-2013年,如何快速确定是哪一年呢?

希望输出:
time1="2013/8/23 11:35:21"
time2="2013/9/2 16:18:09"
time3="2013/9/3 16:06:33"

#!/bin/bash
time1="Fri Aug 23 11:35:21"
time2="Mon Sep 2 16:18:09"
time3="Tue Sep 3 16:06:33"
time4="Sun Dec 2 16:06:34"
for((i=1;i<=4;i++)); do
  for((j=2011;j<=2013;j++)); do
    str=$(eval echo \$time$i)
    WEEK_DAY=$(date -d "${str:0:10} $j ${str:10}" "+%a")
    if [ "${str:0:3}" == $WEEK_DAY ]; then
      echo time$i=\"$(date -d "${str:0:10} $j ${str:10}" "+%Y/%m/%d %T")\"
      # break
    fi
  done
done
(0)

相关推荐

  • Shell根据日期、月份、星期判断年份的代码

    已知三个时间变量: time1="Fri Aug 23 11:35:21" time2="Mon Sep 2 16:18:09" time3="Tue Sep 3 16:06:33" 已知这三个时间可以确定是发生在2011-2013年,如何快速确定是哪一年呢? 希望输出: time1="2013/8/23 11:35:21" time2="2013/9/2 16:18:09" time3="201

  • C#根据日期计算星期几的实例代码

    本示例采用基姆拉尔森计算公式来根据日期计算未来日子是星期几: 首先看下百度百科的基姆拉尔森计算公式定义: 基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数. 注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算. 1.客户端(采用ajax方式调用): $.get('Caculate

  • C#基于基姆拉尔森算法计算指定日期是星期几的方法

    本文实例讲述了C#基于基姆拉尔森算法计算指定日期是星期几的方法.分享给大家供大家参考.具体分析如下: 基姆拉尔森计算公式 W= (d+2*m+3*(m+1)/5+y+y/4-y/100+y/400) mod 7 在公式中d表示日期中的日数,m表示月份数,y表示年数. 注意:在公式中有个与其他公式不同的地方: 把一月和二月看成是上一年的十三月和十四月,例:如果是2004-1-10则换算成:2003-13-10来代入公式计算. #region 根据年月日计算星期几(lblDate.Text=Cacu

  • PHP获取指定日期是星期几的实现方法

    本文实例讲述了PHP获取指定日期是星期几的实现方法.分享给大家供大家参考,具体如下: <?php header("Content-type: text/html; charset=utf-8"); //获取星期方法 function get_week($date){ //强制转换日期格式 $date_str=date('Y-m-d',strtotime($date)); //封装成数组 $arr=explode("-", $date_str); //参数赋值

  • java基于正则表达式实现时间日期的常用判断操作实例

    本文实例讲述了java基于正则表达式实现时间日期的常用判断操作.分享给大家供大家参考,具体如下: 最近需要完成一个判断用户输入时间日期类型来进行相应操作的业务.实现这个功能自然少不了用到正则表达式,提高正则表达式的话,其实它的用法很简单,只需把这个表格记住并且会灵活运行就可以了. 元字符 描述 \ 将下一个字符标记为一个特殊字符.或一个原义字符.或一个向后引用.或一个八进制转义符.例如,"\n"匹配字符"n"."\\n"匹配一个换行符.序列&qu

  • python根据日期返回星期几的方法

    本文实例讲述了python根据日期返回星期几的方法.分享给大家供大家参考.具体如下: 这个函数给定日期,输出星期几,至于0是星期一还是星期天,这和时区有关,反正我这里是0表示星期一 import time,datetime def get_week_day(date): week_day_dict = { 0 : '星期一', 1 : '星期二', 2 : '星期三', 3 : '星期四', 4 : '星期五', 5 : '星期六', 6 : '星期天', } day = date.weekda

  • mssql中获取指定日期所在月份的第一天的代码

    获取指定日期月份的第一天,你可以使用DATEADD函数,减去指定日期的月份过去了的天数,即可. 复制代码 代码如下: CREATE FUNCTION [dbo].[udf_FirstDayOfMonth] ( @Date DATE ) RETURNS DATETIME AS BEGIN RETURN CAST(DATEADD(day,1 - DAY(@Date), @Date) AS DATETIME) END 或者,用DATEDIFF计算指定日期与日期开始之时,相隔几个月,然后再DATEADD

  • C#获取日期的星期名称实例代码

    具体代码如下所示: private string GetWeekName(DayOfWeek week) { string weekName = ""; switch (week) { case DayOfWeek.Friday: weekName = "周五"; break; case DayOfWeek.Monday: weekName = "周一"; break; case DayOfWeek.Saturday: weekName = &q

  • 对shell中常见参数及判断命令介绍

    Shell常用特殊变量 经常会在shell命令中,看到$0, $#, $*, $@, $?, $$这样的取值,这些代表什么呢? 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2 $# 传递给脚本或函数的参数个数 $* 传递给脚本或函数的所有参数 $@ 传递给脚本或函数的所有参数.被双引号(" ")包含时,与 $* 稍有不同 $? 上个命令的退出状态,或函数的返回值.成功返回0,失败返回1 $$ 当

  • PHP获取日期对应星期、一周日期、星期开始与结束日期的方法

    本文实例讲述了PHP获取日期对应星期.一周日期.星期开始与结束日期的方法.分享给大家供大家参考,具体如下: /* * 获取日期对应的星期 * 参数$date为输入的日期数据,格式如:2018-6-22 */ function get_week($date) { //强制转换日期格式 $date_str = date('Y-m-d', strtotime($date)); //封装成数组 $arr = explode("-", $date_str); //参数赋值 //年 $year =

随机推荐