Sponsored Content
Full Discussion: time stamp of file create
Top Forums UNIX for Dummies Questions & Answers time stamp of file create Post 52162 by jim mcnamara on Friday 11th of June 2004 11:44:52 AM
Old 06-11-2004
Sort of the same thing in C - using stat
Code:
/* this displays files times to the second: ctime & mtime */
/* usage filetime <file name> [file name...[]] -  for HPUX */

/* jmc 4/25/1997 10:09AM */

#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <sys/stat.h>   
#include <string.h>
#include <errno.h>


void statfile(char *, struct stat *);
void usage(void); 
void bail(void);  
void filetimes(char *, struct stat *);    

int main(int argc, char *argv[]){      
       struct stat st;
       int i=0;    
       char tmp[256]={'\0'};
       if(argc <2) usage();       
       for(i=1; i<argc;i++){       
               strcpy(tmp,argv[i]);
               statfile(tmp,&st);
               filetimes(tmp,&st);            
       }        
       
       return 0;
}                         
void filetimes(char *fname,struct stat *st){  /* display the file times */
       struct tm *tmptr;            
       struct stat lst;           
       char output[91]={'\0'};
       lst = *st;   
       printf("File times for %s\n",fname);
       tmptr=localtime(&lst.st_atime);
       strftime(output,80,"Last status change: %D %T",tmptr);
       printf("\t%s\n",output);
       tmptr=localtime(&lst.st_mtime);
       strftime(output,80,"Last modify time  : %D %T",tmptr);
       printf("\t%s\n",output);

       
}
void statfile(char *fname, struct stat *st){
       int result=0;   
       result=stat(fname,st);
       if(result == (-1)) bail();
}               
void usage(void){
    printf("usage:  filetime <filenames> \n");  
    bail();
}                

void bail(void){
    if (errno) perror("Fatal error");
    exit(EXIT_FAILURE);
}

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

File date and time stamp

I have to capture the creation date and time stamp for a file. The ls command doesn't list all the required information. I need year, month, day, hour, minute and second. Any ideas... (1 Reply)
Discussion started by: Xenon
1 Replies

2. Shell Programming and Scripting

how do i put a time stamp in a file name

i want to copy a filea.dat to a file name in the format of filea_yyyymmdd_hhmi.dat using something like DTSTAMP=$(date "+%Y%m%d"), which puts it in format filea_yyyymmdd.dat (5 Replies)
Discussion started by: jhamm
5 Replies

3. Shell Programming and Scripting

change the time stamp of file

can we change the timestamp of a file to old date. -rwxrwxrwx 1 root other 330 Jul 1 16:03 abc.txt it shows creation time is 16.03 can i change it to previous time :) (2 Replies)
Discussion started by: anish19
2 Replies

4. Shell Programming and Scripting

Change time stamp of a file

Hi, As i know , we can change the time stamp of a file by touch command, i did change in a file and it is looking as given # ls -l abcd -rw-r--r-- 1 batsoqa sicusers 0 Feb 17 2010 abcd actually i want to see the output like this -rw-r--r-- 1 batsoqa sicusers ... (3 Replies)
Discussion started by: apskaushik
3 Replies

5. Shell Programming and Scripting

Set date and time stamp of one file to another

Hi I use "touch -t xxxxxxxx" command to set date/time stamp of a file. My requirement is to read the date/time stamp of a file and apply it to another file. Is there anyway to do it simple instead of manually taking date/stamp of first file? TIA Prvn (2 Replies)
Discussion started by: prvnrk
2 Replies

6. Shell Programming and Scripting

creating a file with time stamp

Hi guys, Here my scenario is to find the files of previous days if the previous day load had not done. for that i created a file with time stamp and this file is created after the load completes. so every dau i search for the this file with previous days time stamp. i want to create a file... (1 Reply)
Discussion started by: apple2685
1 Replies

7. Shell Programming and Scripting

file time stamp

Hi All, I am facing small problem. i want to print file time stamp on which date file has placed in the server. i have given some code but its not giving the year. any help appreciated. regards rajesh. (4 Replies)
Discussion started by: rajesh_pola
4 Replies

8. Shell Programming and Scripting

Unable to create logfile with local time stamp using perl

Hello All, Morning, I am facing problem with my code while creating a log with name as current time stamp using perl. Here is the code. #!/usr/bin/perl my $time=localtime; my ($day,$month,$date,$tm,$year)=split(/ /,$time); my $stamp=$year."_".$month."_".$date; my... (4 Replies)
Discussion started by: krsnadasa
4 Replies

9. Shell Programming and Scripting

Check file time stamp

Hi, I need help to read file in a directory on basis of time stamp. e.g. If file access in last 2 minutes it should not be copy to remote directory. Below is my script. #!/bin/ksh DATE=`date +"%Y-%m-%d_%H%M"` SEPARATER=" " exec < out_interfaces.cfg while read source_path... (10 Replies)
Discussion started by: qamar.alam
10 Replies

10. Shell Programming and Scripting

Capturing time stamp in file name

I have a file that is created via a perl script where the file is named like so: 01-07-2016_10:17:08. I am running a shell script that needs to take this file and print it. I can capture the date portion fine, but I am unsure how to capture the time stamp, since there will be a difference from what... (1 Reply)
Discussion started by: ldorsey
1 Replies
Calendar::Simple(3pm)					User Contributed Perl Documentation				     Calendar::Simple(3pm)

NAME
Calendar::Simple - Perl extension to create simple calendars SYNOPSIS
use Calendar::Simple; my @curr = calendar; # get current month my @this_sept = calendar(9); # get 9th month of current year my @sept_2002 = calendar(9, 2002); # get 9th month of 2002 my @monday = calendar(9, 2002, 1); # get 9th month of 2002, # weeks start on Monday my @span = date_span(mon => 10, # returns span of dates year => 2006, begin => 15, end => 28); DESCRIPTION
A very simple module that exports one function called "calendar". calendar This function returns a data structure representing the dates in a month. The data structure returned is an array of array references. The first level array represents the weeks in the month. The second level array contains the actual days. By default, each week starts on a Sunday and the value in the array is the date of that day. Any days at the beginning of the first week or the end of the last week that are from the previous or next month have the value "undef". If the month or year parameters are omitted then the current month or year are assumed. A third, optional parameter, start_day, allows you to set the day each week starts with, with the same values as localtime sets for wday (namely, 0 for Sunday, 1 for Monday and so on). date_span This function returns a cur-down version of a month data structure which begins and ends on dates other than the first and last dates of the month. Any weeks that fall completely outside of the date range are removed from the structure and any days within the remaining weeks that fall outside of the date range are set to "undef". As there are a number of parameters to this function, they are passed using a named parameter interface. The parameters are as follows: year The required year. Defaults to the current year if omitted. mon The required month. Defaults to the current month if omitted. begin The first day of the required span. Defaults to the first if omitted. end The last day of the required span. Defaults to the last day of the month if omitted. start_day Indicates the day of the week that each week starts with. This takes the same values as the optional third parameter to "calendar". The default is 0 (for Sunday). This function isn't exported by default, so in order to use it in your program you need to use the module like this: use Calendar::Simple 'date_span'; EXAMPLE A simple "cal" replacement would therefore look like this: #!/usr/bin/perl -w use strict; use Calendar::Simple; my @months = qw(January February March April May June July August September October November December); my $mon = shift || (localtime)[4] + 1; my $yr = shift || (localtime)[5] + 1900; my @month = calendar($mon, $yr); print " $months[$mon -1] $yr "; print "Su Mo Tu We Th Fr Sa "; foreach (@month) { print map { $_ ? sprintf "%2d ", $_ : ' ' } @$_; print " "; } A version of this example, called "pcal", is installed when you install this module. Date Range This module will make use of DateTime.pm if it is installed. By using DateTime.pm it can use any date that DateTime can represent. If DateTime is not installed it uses Perl's built-in date handling and therefore can't deal with dates before 1970 and it will also have problems with dates after 2038 on a 32-bit machine. EXPORT "calendar" AUTHOR
Dave Cross <dave@mag-sol.com> ACKNOWLEDGEMENTS
With thanks to Paul Mison <cpan@husk.org> for the start day patch. COPYRIGHT
Copyright (C) 2002-2008, Magnum Solutions Ltd. All Rights Reserved. LICENSE
This script is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
perl, localtime, DateTime perl v5.10.1 2010-04-02 Calendar::Simple(3pm)
All times are GMT -4. The time now is 06:45 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy