54 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
		
		
			
		
	
	
			54 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
| 
								 | 
							
								LC_ALL=C
							 | 
						||
| 
								 | 
							
								LANG=C
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								SHELLSTART=$(date +%s)
							 | 
						||
| 
								 | 
							
								SECS=1275250155
							 | 
						||
| 
								 | 
							
								export TZ=EST5EDT
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								printf "%()T\n" $SECS
							 | 
						||
| 
								 | 
							
								printf "%(abde)Z\n" -1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								printf "%(%e-%b-%Y %T)T\n" $SECS
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								printf -v v1 "%(%e-%b-%Y %T)T\n" $(date +%s)
							 | 
						||
| 
								 | 
							
								printf -v v2 "%(%e-%b-%Y %T)T\n" -1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								case $v1 in
							 | 
						||
| 
								 | 
							
								$v2)	;;
							 | 
						||
| 
								 | 
							
								*)	echo "current time and -1 possible mismatch|$v1|$v2|" >&2 ;;
							 | 
						||
| 
								 | 
							
								esac
							 | 
						||
| 
								 | 
							
								unset v1 v2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								v1=$(date +%s)
							 | 
						||
| 
								 | 
							
								printf -v v2 "%(%s)T" -1
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								case $v1 in
							 | 
						||
| 
								 | 
							
								$v2)	;;
							 | 
						||
| 
								 | 
							
								*)	echo "current time mismatch:$v1|$v2|" >&2 ;;
							 | 
						||
| 
								 | 
							
								esac
							 | 
						||
| 
								 | 
							
								unset v1 v2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								printf "%(%x %X)T\n" $(( $SECS - 3600 ))
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								printf -v v1 "%(%F %r)T\n" $SHELLSTART
							 | 
						||
| 
								 | 
							
								printf -v v2 "%(%F %r)T\n" -2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								case $v1 in
							 | 
						||
| 
								 | 
							
								$v2)	;;
							 | 
						||
| 
								 | 
							
								*)	echo "shell start time and -2 possible mismatch|$v1|$v2|" >&2 ;;
							 | 
						||
| 
								 | 
							
								esac
							 | 
						||
| 
								 | 
							
								unset v1 v2
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								printf "current time: %(%F %r)T\n" $SECS
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								printf "epoch time: %(%F %r %z)T\n" 0
							 | 
						||
| 
								 | 
							
								printf "random time: %(%F %r %z)T\n"  $SECS
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								printf "local time: %(%a %b %e %H:%M:%S %Z %Y)T\n" $SECS
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# test fieldwidth, justification, precision
							 | 
						||
| 
								 | 
							
								printf "%-40.50(%a %b %e %H:%M:%S %Z %Y)T date-style time\n" $SECS
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								# test fieldwidth, justification, precision, embedded parens
							 | 
						||
| 
								 | 
							
								printf "%-40.50(%x (foo) %X)T date-style time\n" $SECS
							 |