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
XCALPR(1)						      General Commands Manual							 XCALPR(1)

NAME
xcalpr - print xcal calendar entries SYNTAX
xcalpr [ -c ][ -x ][ -f file ][ -d dir ][ -u user ][ date-spec ] DESCRIPTION
Xcalpr prints the contents of the xcal files. It is intended to be used in situations when you have no access to an X screen. It can also be used to generate entries for the standard UNIX calendar program. With no arguments, it prints any entries that exist for the next seven days. The program also reads the contents of the seven daily files and prints them at the appropriate point in the output stream. Each line in the output is preceded by the day of the week, the day of the month, the month and the year. Xcalpr can be given a date specification to select months and years. If the date spec consists of just a year number, then all the data for that year is printed. For example: xcalpr 1994 will print all the data for 1994. Several years can be specified. If you give the name of a month, then the data for that month in the current year will be printed. If the month is in the past, then the data for that month next year will be printed. For example, if xcalpr oct jan is typed in August, xcalpr will print October in the current year and January next year. You can select a particular year by adding the number after any months that you need printing: xcalpr oct nov 1994 will print October and November in 1994. There are a couple of special `month' names. The name rest will print the data for the rest of the month, starting tomorrow. The rest argument is not recognised if you give a year as a parameter. If tomorrow happens to be the first day of the next month, then all the data for next month will be printed. The name next prints all the data for next month. OPTIONS
The -c option causes xcalpr to output lines suitable for input to the standard UNIX calendar program. The -d switch is followed by a directory name and specifies an alterative location for your Calendar directory. Your home directory is prepended if the name doesn't start with a slash or a dot. The -f option is followed by a file name and xcalpr will write it's output to that file, rather than standard output. The -u option is followed by a user name and dumps their calendar files rather than yours. The -x option makes xcalev operate with Calendar files that are compatible with the xcalendar program. FILES
$HOME/Calendar/* xc<dd><Mon><Year> A data file is day, Month in three letter format and the year. xy<Year> A year directory. xw<Day> A data file for the weekly code, one per day. SEE ALSO
xcal(1), xcalev(1), xcal_cal(1) AUTHOR
Copyright 1993 by Peter Collinson, Hillside Systems All rights reserved. This product includes software developed by the University of California, Berkeley and its contributors. X Version 11 R5 October 1993 XCALPR(1)
All times are GMT -4. The time now is 03:58 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy