Sponsored Content
Operating Systems Solaris Convert string (YYYYMMDD) format to date in Sun OS Post 303015166 by vgersh99 on Thursday 29th of March 2018 11:13:59 AM
Old 03-29-2018
Quote:
Originally Posted by apmcd47
This bash-only script works with bash 3 on Solaris and bash 4 on Ubuntu.

To use it call it with yyyymmdd date strings as arguments.
Code:
#!/bin/bash

zeller() {
   year=$1 month=$2 day=$3
   (( 10#$month < 3 )) && year=$(( year - 1 ))
   F=$(( (10#$day + ((13 * ((10#$month+9) % 12) + 12)/5) + \
                (5*(year%100))/4 + (year/400) - 2*(year/100))%7 ))
   (( F<0 )) && (( F = F + 7 ))
   echo $F
}

for date in $@
do
   y=${date:0:4} m=${date:4:2} d=${date:6:2}
   dow=$(zeller $y $m $d)
   if (( dow == 3 ))
   then 
      printf "%02d/%02d/%4d (%s) is a Wednesday\n" $d $m $y $date
      # US date format: (comment above and uncomment below if in the USA)
      #printf "%20d/%02d/%4d (%s) is a Wednesday\n" $m $d $y $date
   else
      printf "%02d/%02d/%4d (%s) is NOT a Wednesday\n" $d $m $y $date
      # US date format:
      #printf "%02d/%02d/%4d (%s) is NOT a Wednesday\n" $m $d $y $date
   fi
done

The function zeller uses the Zeller algorithm to find the day of week from the given year/month/day. Result: 0 for a Sunday through to 6 for a Saturday.

Andrew
good idea, but...somehow the zeller function doesn't work correctly:
Code:
$ zeller.sh 2017 3 25
6
$ zeller.sh 2017 3 1
3

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

get yesterday date in yyyymmdd format

I would like to know how I could get a yesterday date in yyyymmdd e.g. today is 20011109, and I would like to get 20011108. Thank you!:confused: (2 Replies)
Discussion started by: hk_newbie
2 Replies

2. UNIX for Dummies Questions & Answers

how to convert the string YYYYMMDD into YYYY.MM.DD

how to convert the string YYYYMMDD into YYYY.MM.DD Please advice (1 Reply)
Discussion started by: spatra
1 Replies

3. UNIX for Dummies Questions & Answers

Format date from MM/DD/YYYY to YYYYMMDD

I have a file with some date columns in MM/DD/YYYY format: SMPBR|DUP-DO NOT USE|NEW YORK||16105|BA5270715|6/6/2007 |MWERNER|109||||JOHN||SMITH|MD|72211118||||||74559|21 WILMINGTON RD||D|11/6/2003|SL# MD CONTACT-LIZ RICHARDS|||0|Y|N||1411458| And I want to convert the date format to: ... (5 Replies)
Discussion started by: ChicagoBlues
5 Replies

4. Shell Programming and Scripting

convert date format YYYYMMDD to MM/DD/YYYY

In my shell script i have a variable which stores date in the format of YYYYMMDD. Is there any way to format this value to MM/DD/YYYY. Thanks. (8 Replies)
Discussion started by: nasirgondal
8 Replies

5. Shell Programming and Scripting

To convert a date(in string format) to unix timestamp

Hi All, I have a string like below. "Mar 31 2009" . I want to convert this to unix time . Also please let me know how to find the unix time for the above string minus one day. For Eg. if i have string "Mar 31 2009" i want to find the unix time stamp of "Mar 30 2009". Thanks in advance,... (11 Replies)
Discussion started by: girish.raos
11 Replies

6. Shell Programming and Scripting

PERL String to Date (Custom format yyyymmdd to dd-mon-yyyy)

Hi All, I am learning PERL for one of the projects, and in one of these scripts, I read a flat text file and print in the terminal. The problem is, the text file has a date field. The format is yyyymmdd. I need to display this as dd-mon-yyyy. Any ideas to do this? Thanks a lot for the... (9 Replies)
Discussion started by: guruparan18
9 Replies

7. Solaris

Date after 5 dates in YYYYMMDD format

Hi Experts, How to get date 5 days after current date in YYYYMMDD format? How do we compare date in YYYYMMDD format? Thanks (1 Reply)
Discussion started by: needyourhelp10
1 Replies

8. Shell Programming and Scripting

Date after 5 days from current date in YYYYMMDD format

Hello Experts, How do i get date after 5 days from current date in YYYYMMDD format? How do you compare date in YYYYMMDD format? Thanks (8 Replies)
Discussion started by: needyourhelp10
8 Replies

9. Shell Programming and Scripting

Convert string into date format

Hi, I am getting the below string as a input for date. 12/03/2013 11:02 AM I want to change this date as 03-DEC-2013 11:02 AM. Could you please help on this. Thanks Chelladurai (4 Replies)
Discussion started by: ckchelladurai
4 Replies

10. Shell Programming and Scripting

Convert string (YYYYMMDD) format to date in Sun OS

Hi All I need help in converting a string of YYYYMMDD format to date in Sun OS and then find out if the day is a Wednesday or not. The "date -d" option is not working and your help is much appreciated. The date command usage from the operating system we use here is as follows: usage: ... (1 Reply)
Discussion started by: SK123
1 Replies
CAL_TO_JD(3)								 1							      CAL_TO_JD(3)

cal_to_jd - Converts from a supported calendar to Julian Day Count

SYNOPSIS
int cal_to_jd (int $calendar, int $month, int $day, int $year) DESCRIPTION
cal_to_jd(3) calculates the Julian day count for a date in the specified $calendar. Supported $calendars are CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH and CAL_FRENCH. PARAMETERS
o $calendar - Calendar to convert from, one of CAL_GREGORIAN, CAL_JULIAN, CAL_JEWISH or CAL_FRENCH. o $month - The month as a number, the valid range depends on the $calendar o $day - The day as a number, the valid range depends on the $calendar o $year - The year as a number, the valid range depends on the $calendar RETURN VALUES
A Julian Day number. SEE ALSO
cal_from_jd(3), frenchtojd(3), gregoriantojd(3), jewishtojd(3), juliantojd(3), unixtojd(3). PHP Documentation Group CAL_TO_JD(3)
All times are GMT -4. The time now is 11:20 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy