Sponsored Content
Top Forums UNIX for Dummies Questions & Answers How to find Day of the Week from the given date (Perl)? Post 302173715 by deepakwins on Friday 7th of March 2008 03:45:45 PM
Old 03-07-2008
Thanks for your effort.
Iam able to write up my own code.

Code:
my $MaxDate = '2008-03-07';

my ($MaxYear, $MaxMonth, $MaxDay, @monthDays, $YearSec, $MonthSec, $DaySec, $i);
$MaxYear = substr($MaxDate,0,4);
$MaxMonth = substr($MaxDate,5,2);
$MaxDay = substr($MaxDate,8,4);
@monthDays = (0,31,28,31,30,31,30,31,31,30,31,30,31);
(($MaxMonth = 12) && (--$MaxYear)) if (--$MaxMonth == 0);
$i=1970;
while (++$i <= $MaxYear) {
	(!($i % 400) && ($YearSec += 366)) || (!($i % 100) && ($YearSec += 365)) || (!($i % 4) && ($YearSec += 366)) || ($YearSec += 365);
}
$YearSec = $YearSec * 24 * 60 * 60;
(!($MaxYear % 400) && ($monthDays[2] = 29)) || !($MaxYear % 100) || (!($MaxYear % 4) && ($monthDays[2] = 29));
$i =0;
($MonthSec += $monthDays[$i] * 24 * 60*60) while (++$i <= $MaxMonth);
my $DaySec = ($MaxDay-1) * 24 * 60 * 60;
my ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(18000+$YearSec+$MonthSec+$DaySec);
$year += 1900;
$mon += 1;
my $ProcessDatetime = sprintf "%4d%02d%02d%02d%02d%02d",$yedar,$mon,$mday,$hour,$min,$sec;

later found another simple method of
Code:
	my $MaxYear = substr($MaxDate,0,4);
	my $MaxMonth = substr($MaxDate,5,2);
	my $MaxDay = substr($MaxDate,8,4);
	my $weekday =  strftime("%u", 0, 0, 0, $MaxDay , $MaxMonth - 1, $MaxYear - 1900, -1, -1, -1);
	$MaxDay += 7-$weekday;
	my $sunday =  strftime("%Y%m%d", 0, 0, 0, $MaxDay , $MaxMonth - 1, $MaxYear - 1900, -1, -1, -1);

 

10 More Discussions You Might Find Interesting

1. HP-UX

Get Day of Week from date

Hi All, I have date in string format 'YYYY-MM-DD'. I want to know day of the week for this date. Example. For '2005-08-21' my script should return '0' or Sunday For '2005-08-22' it should return '1' or Monday I want piece of code for HP-UX korn shell. Appreciate reply on this. (5 Replies)
Discussion started by: vpapaiya
5 Replies

2. UNIX and Linux Applications

How to find 'Day of week' in Linux system

Hi All, I want to find a day of week for the Linux system. can some one help me on this.. Thanks in advance, Raji. (2 Replies)
Discussion started by: rajinavaneethan
2 Replies

3. Shell Programming and Scripting

Function to get day of week from YYYY-MM-DD date

Can't find out how to get the day of the week from a given date, anyone got a code snippet that could help please? Ta!! (4 Replies)
Discussion started by: couponmeup
4 Replies

4. Shell Programming and Scripting

how to obtain date and day of the week from `date` command

Hi, does anybody know how to format `date` command correctly to return the day of the week? Thanks -A I work in ksh.... (1 Reply)
Discussion started by: aoussenko
1 Replies

5. Shell Programming and Scripting

Finding Day of the week from date

I have a problem of Finding Day of the week from date, but i need to do it within awk On SOLARIS Input:20101007(YYYYMMDD) Output:Thursday kindly provide suggestions. Thanks in advance (8 Replies)
Discussion started by: junaid.nehvi
8 Replies

6. Shell Programming and Scripting

How to add day of week at the end of each line that shows the date?

I have a file that looks like: file1: www_blank_com 20121008153552 www_blank_com 20121008162542 www_blank_com 20121009040540 www_blank_com 20121009041542 www_blank_com 20121010113548 www_blank_com 20121011113551 www_blank_com 20121012113542 I want the new file to show the day of... (3 Replies)
Discussion started by: castrojc
3 Replies

7. HP-UX

Find Day of Week

In HP-UX the date command does not have the "-d" switch like some other *nixes do. I'm working a simple script to tell me, given the day, month and year what day of the week that falls on. Assuming valid day, month and year input (I'd perform quality checks on the input separately, but not... (5 Replies)
Discussion started by: rwuerth
5 Replies

8. Shell Programming and Scripting

How to obtain a day of the week from the date?

I have a date in format YYYYMMDD, i need to get the day of the week from the given date. I am working in AIX system. ---------- Post updated at 09:59 AM ---------- Previous update was at 09:57 AM ---------- Tried to post sum of the thread's link from which i tried, but de rules didnt allow me... (9 Replies)
Discussion started by: baranisachin
9 Replies

9. Shell Programming and Scripting

How to get the consecutive last 10 week day date using UNIX ksh shell scripting?

Hi, i am writing a ksh shell script to check the last month end date whether it is falling in last 10 week day date, I am not sure How to use "Mr. Perderabo's date calculator", Could you Please let me know how to use to get my requirement, I tried my own script but duplicate week day and... (5 Replies)
Discussion started by: karthikram
5 Replies

10. Shell Programming and Scripting

Reading in MM/DD/YY, find Day of Week

Hi everyone, I have a shell script that merges many files down in to one, then removes unwanted lines, that part is working fine: #!/bin/bash FILES=/home/pi/temp/qbd/* for f in $FILES do echo "Processing $f file..." # take action on each file. $f store current file name echo... (9 Replies)
Discussion started by: gjws
9 Replies
bytes(3perl)						 Perl Programmers Reference Guide					      bytes(3perl)

NAME
bytes - Perl pragma to force byte semantics rather than character semantics NOTICE
This pragma reflects early attempts to incorporate Unicode into perl and has since been superseded. It breaks encapsulation (i.e. it exposes the innards of how the perl executable currently happens to store a string), and use of this module for anything other than debugging purposes is strongly discouraged. If you feel that the functions here within might be useful for your application, this possibly indicates a mismatch between your mental model of Perl Unicode and the current reality. In that case, you may wish to read some of the perl Unicode documentation: perluniintro, perlunitut, perlunifaq and perlunicode. SYNOPSIS
use bytes; ... chr(...); # or bytes::chr ... index(...); # or bytes::index ... length(...); # or bytes::length ... ord(...); # or bytes::ord ... rindex(...); # or bytes::rindex ... substr(...); # or bytes::substr no bytes; DESCRIPTION
The "use bytes" pragma disables character semantics for the rest of the lexical scope in which it appears. "no bytes" can be used to reverse the effect of "use bytes" within the current lexical scope. Perl normally assumes character semantics in the presence of character data (i.e. data that has come from a source that has been marked as being of a particular character encoding). When "use bytes" is in effect, the encoding is temporarily ignored, and each string is treated as a series of bytes. As an example, when Perl sees "$x = chr(400)", it encodes the character in UTF-8 and stores it in $x. Then it is marked as character data, so, for instance, "length $x" returns 1. However, in the scope of the "bytes" pragma, $x is treated as a series of bytes - the bytes that make up the UTF8 encoding - and "length $x" returns 2: $x = chr(400); print "Length is ", length $x, " "; # "Length is 1" printf "Contents are %vd ", $x; # "Contents are 400" { use bytes; # or "require bytes; bytes::length()" print "Length is ", length $x, " "; # "Length is 2" printf "Contents are %vd ", $x; # "Contents are 198.144" } chr(), ord(), substr(), index() and rindex() behave similarly. For more on the implications and differences between character semantics and byte semantics, see perluniintro and perlunicode. LIMITATIONS
bytes::substr() does not work as an lvalue(). SEE ALSO
perluniintro, perlunicode, utf8 perl v5.14.2 2010-12-30 bytes(3perl)
All times are GMT -4. The time now is 09:16 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy