加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl – 以mm / dd / yyyy为单位查找一年中的一周

发布时间:2020-12-15 21:48:21 所属栏目:大数据 来源:网络整理
导读:我试图在某一年找到一个日期落入的那一周.我有一堆文件需要分类到“week1-2012”和“week34-2011”等文件夹中.我尝试搜索但很多结果并没有真正帮助,因为我目前正在使用perl v5.6.1,超级旧,我无法下载任何模块.我也发现了这个链接( How do I calculate the we
我试图在某一年找到一个日期落入的那一周.我有一堆文件需要分类到“week1-2012”和“week34-2011”等文件夹中.我尝试搜索但很多结果并没有真正帮助,因为我目前正在使用perl v5.6.1,超级旧,我无法下载任何模块.我也发现了这个链接( How do I calculate the week number given a date?),但我想知道如何轻松地获得一年和一周的日期.想到这个月,并添加适当的天数来找出一年中的那一天.任何帮助,将不胜感激.我正在寻找的年份格式的一个例子是
//year 2012
S  M  T  W  R  F  S
            1  2  3    <-- week #1 
4  5  6  7  8  9 10    <-- week #2 //came from the link

//dec year 2011
S   M  T  W  T  F  S
27 28 29 31            <-- week #52 or 53,not to sure the actual week

解决方法

您可以使用核心模块:POSIX和Time :: Local

1.将你的日期分为(秒,分钟,小时,日,月,年)

2.将你的日期转换为秒(纪元)

3.使用函数strftime从当前日期获取一周

use strict;
use Time::Local;
use POSIX qw(strftime);

my $date = '08/15/2012';
my ($month,$day,$year) = split '/',$date;

my $epoch = timelocal( 0,$month - 1,$year - 1900 );
my $week  = strftime( "%U",localtime( $epoch ) );

printf "Date: %s № Week: %sn",$date,$week;

OUTPUT

Date: 08/15/2012 № Week: 33

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读