3 SCRIPT_PATH
="$( cd "$
( dirname "${BASH_SOURCE[0]}" )" && pwd )"
4 CSHARP
=$SCRIPT_PATH/..
/lib
/net_4_x
/csharp.exe
5 MONO
=$SCRIPT_PATH/..
/..
/..
/mono
/mini
/mono
7 export MONO_PATH
=${MONO_PATH:-$SCRIPT_PATH/../lib/net_4_x}
11 FORMAT
="%a %b %d %T %Y"
13 for tz
in $
(cd /usr
/share
/zoneinfo
/; find * -type f
-print); do
14 TZ_COUNT
=$
(expr $TZ_COUNT + 1)
15 SYS_DATETIME
=$
(date -ju -f "$FORMAT" "$(TZ=$tz date "+$FORMAT")" "+%s")
16 CS_DATETIME
=$
(TZ
=$tz $MONO $CSHARP -e '(int)(DateTime.Now - new DateTime(1970, 1, 1)).TotalSeconds;')
17 DIFF
=$
(expr $SYS_DATETIME - $CS_DATETIME)
18 if [ "$DIFF" -gt "5" ] ||
[ "$DIFF" -lt "-5" ]; then
19 TZ_FAILS
=$
(expr $TZ_FAILS + 1)
21 echo "DateTime.Now failed with timezone: $tz"
22 echo " System: $(date -ju -f "%s
" "$SYS_DATETIME" "+%Y-
%m-
%d
%T
")"
23 echo " DateTime.Now: $(date -ju -f "%s
" "$CS_DATETIME" "+%Y-
%m-
%d
%T
")"
28 echo "DateTime.Now failed with $TZ_FAILS of $TZ_COUNT timezones."