Fixed timezone format
All checks were successful
Build / Build NPM Project (push) Successful in 1m15s
Build / Tag Version (push) Successful in 13s
Build / Publish Documentation (push) Successful in 1m57s

This commit is contained in:
Zakary Timson 2024-11-14 22:58:24 -05:00
parent ccf3fcb043
commit 49a2df8cd4
3 changed files with 11 additions and 37 deletions

View File

@ -8,12 +8,12 @@
<script type="module"> <script type="module">
import {fromCsv, toCsv} from './dist/index.mjs'; import {fromCsv, toCsv} from './dist/index.mjs';
const csv = '' + const csv = '_id,any,boolean,date,file,foreignKey,formula,javaScript,number,string,_createdBy,_createdDate,_updatedBy,_updatedDate\n' +
'_id,any,boolean,date,file,foreignKey,formula,javaScript,number,string,_createdBy,_createdDate,_updatedBy,_updatedDate\n' + '34,,true,,,,,,,,system,2024-11-09T12:06:50.023Z,system,2024-11-09T17:44:42.512Z\n' +
'48,"test,test,test",,,,,,,,,system,2024-11-09T19:05:04.932Z,system,2024-11-09T19:05:04.932Z\n' + '37,,,,,,,,,,system,2024-11-09T18:53:21.793Z,system,2024-11-09T18:53:21.793Z\n' +
'49,,,,,,,,,,system,2024-11-09T19:05:04.933Z,system,2024-11-09T19:05:04.933Z'; '38,,,,,,,,,,system,2024-11-09T18:53:21.796Z,system,2024-11-09T18:53:21.796Z';
console.log(fromCsv(csv, false)); console.log(fromCsv(csv));
</script> </script>
</body> </body>
</html> </html>

View File

@ -1,6 +1,6 @@
{ {
"name": "@ztimson/utils", "name": "@ztimson/utils",
"version": "0.22.6", "version": "0.22.7",
"description": "Utility library", "description": "Utility library",
"author": "Zak Timson", "author": "Zak Timson",
"license": "MIT", "license": "MIT",

View File

@ -84,36 +84,10 @@ export function formatDate(date: Date | number | string, format = 'YYYY-MM-DD H:
return (offset > 0 ? '-' : '') + `${hours}:${minutes.toString().padStart(2, '0')}`; return (offset > 0 ? '-' : '') + `${hours}:${minutes.toString().padStart(2, '0')}`;
} }
function timezone(offset: number) { function timezone(date: Date): string {
const hours = offset / 60; const formatter = new Intl.DateTimeFormat('en-US', {timeZoneName: 'short'});
switch (hours) { const formattedDate = formatter.format(date);
case -12: return "IDLW"; return formattedDate.split(' ').pop() || '';
case -11: return "SST";
case -10: return "HST";
case -9: return "AKST";
case -8: return "PST";
case -7: return "MST";
case -6: return "CST";
case -5: return "EST";
case -4: return "AST";
case -3: return "ART";
case -2: return "FNT";
case -1: return "AZOT";
case 0: return "UTC";
case 1: return "CET";
case 2: return "EET";
case 3: return "MSK";
case 4: return "SAMT";
case 5: return "YEKT";
case 6: return "OMST";
case 7: return "KRAT";
case 8: return "CST";
case 9: return "JST";
case 10: return "AEST";
case 11: return "SBT";
case 12: return "NZST";
default: return '';
}
} }
return format return format
@ -155,7 +129,7 @@ export function formatDate(date: Date | number | string, format = 'YYYY-MM-DD H:
// Timezone // Timezone
.replaceAll('ZZ', tzOffset(date.getTimezoneOffset()).replace(':', '')) .replaceAll('ZZ', tzOffset(date.getTimezoneOffset()).replace(':', ''))
.replaceAll('Z', tzOffset(date.getTimezoneOffset())) .replaceAll('Z', tzOffset(date.getTimezoneOffset()))
.replaceAll('z', timezone(date.getTimezoneOffset())); .replaceAll('z', timezone(date));
} }
/** /**