{"id":2605,"date":"2017-08-21T15:28:02","date_gmt":"2017-08-21T15:28:02","guid":{"rendered":"https:\/\/answers.gurussolutions.com\/answers\/how-to-compare-dates-across-different-timezones-in-netsuite-scripts-2\/"},"modified":"2026-07-28T18:25:03","modified_gmt":"2026-07-28T18:25:03","slug":"comment-comparer-des-dates-entre-differents-fuseaux-horaires-dans-les-scripts-netsuite","status":"publish","type":"qa_entry","link":"https:\/\/answers.gurussolutions.com\/fr\/answers\/comment-comparer-des-dates-entre-differents-fuseaux-horaires-dans-les-scripts-netsuite\/","title":{"rendered":"Comment comparer des dates entre diff\u00e9rents fuseaux horaires dans les scripts NetSuite ?"},"content":{"rendered":"","protected":false},"template":"","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","ga_subtitle":"Comparez avec pr\u00e9cision les dates entre diff\u00e9rents fuseaux horaires dans NetSuite SuiteScript, en tenant compte des param\u00e8tres par d\u00e9faut du serveur.","ga_short_answer":"Les scripts c\u00f4t\u00e9 serveur de NetSuite d\u00e9finissent par d\u00e9faut `new Date()` sur l'heure du Pacifique (PST\/PDT), tandis que GA_KEEP_0002, dans les recherches enregistr\u00e9es planifi\u00e9es, refl\u00e8te le fuseau horaire du serveur. Pour effectuer des comparaisons de dates pr\u00e9cises entre diff\u00e9rents fuseaux horaires, utilisez le module `N\/format` de SuiteScript 2.x. Utilisez `format.format()` avec l\u2019option `timezone` pour convertir et normaliser explicitement les dates.","ga_scenario":"La comparaison de dates entre diff\u00e9rents fuseaux horaires dans NetSuite peut entra\u00eener des divergences. Une date d\u00e9finie par un utilisateur \u00e0 Montr\u00e9al (heure de l\u2019Est, EST) peut \u00eatre interpr\u00e9t\u00e9e par un script c\u00f4t\u00e9 serveur comme \u00e9tant l\u2019heure du Pacifique (PST\/PDT) lors de l\u2019utilisation de `new Date()`. Cela peut entra\u00eener des comparaisons erron\u00e9es, en particulier aux limites entre deux jours. Le probl\u00e8me est aggrav\u00e9 lorsque des scripts planifi\u00e9s, ex\u00e9cut\u00e9s par l\u2019utilisateur \u00ab SYSTEM \u00bb, r\u00e9cup\u00e8rent la valeur `{today}` \u00e0 partir de recherches enregistr\u00e9es, car cette valeur est \u00e9galement d\u00e9finie par d\u00e9faut sur le fuseau horaire PST du serveur.","ga_solution":"L'environnement c\u00f4t\u00e9 serveur de NetSuite fonctionne selon l'heure du Pacifique (PST\/PDT). Cela signifie que les objets `new Date()`\n\ncr\u00e9\u00e9s dans les scripts SuiteScript 2.x utiliseront par d\u00e9faut le fuseau horaire PST. De m\u00eame, lorsqu\u2019un script planifi\u00e9, ex\u00e9cut\u00e9 par l\u2019utilisateur \u00ab SYSTEM \u00bb, r\u00e9cup\u00e8re le jeton `{today}`\n\n\u00e0 partir d\u2019une recherche enregistr\u00e9e, cette valeur refl\u00e9tera \u00e9galement le fuseau horaire PST du serveur. Ce comportement inh\u00e9rent entra\u00eene souvent des divergences lors de la comparaison de dates entre diff\u00e9rents fuseaux horaires, car une date qui correspond d\u00e9j\u00e0 \u00e0 \u00ab aujourd\u2019hui \u00bb dans le fuseau horaire local d\u2019un utilisateur (par exemple, Montr\u00e9al EST) peut encore correspondre \u00e0 \u00ab hier \u00bb dans le fuseau horaire PST du serveur.\n\nPour comparer avec pr\u00e9cision des dates entre diff\u00e9rents fuseaux horaires, l\u2019approche recommand\u00e9e dans SuiteScript 2.x consiste \u00e0 utiliser le module `N\/format`\n\n. Ce module offre des fonctionnalit\u00e9s robustes pour la gestion des conversions de date et d\u2019heure, permettant aux d\u00e9veloppeurs de d\u00e9finir explicitement le fuseau horaire cible pour les op\u00e9rations de formatage et d\u2019analyse.nn\n1. Chargez le module `N\/format`\n\ndans votre script SuiteScript 2.x :n\n\n```\njavascriptn\/**n * @NApiVersion 2.xn * @NModuleScope SameAccountn *\/ndefine(['N\/format'], function(format) {n    \/\/ Your script logic heren});n\n```\n\n\n\nn\n2. Utilisez `format.format()`\n\npour convertir les dates dans un fuseau horaire commun (par exemple, le fuseau horaire de l\u2019utilisateur ou l\u2019UTC) avant de les comparer. Par exemple, pour convertir une date \u00e0 l\u2019heure normale de l\u2019Est de Montr\u00e9al (HNE) :n\n\n```\njavascriptnvar dateToConvert = new Date(); \/\/ This will be in PSTnvar montrealTime = format.format({n    value: dateToConvert,n    type: format.Type.DATETIME,n    timezone: format.Timezone.AMERICA_NEW_YORK \/\/ Represents EST\/EDTn});n\/\/ 'montrealTime' is now a string representing the date\/time in Montreal's timezone.n\/\/ You might need to parse it back to a Date object or compare as strings depending on your needs.n\n```\n\nn\n3. Vous pouvez \u00e9galement convertir les deux dates dans un fuseau horaire de r\u00e9f\u00e9rence commun, tel que l\u2019UTC, avant de les comparer.n\n\n```\njavascriptnvar dateInPST = new Date(); \/\/ Example date from scriptnvar dateFromUserField = new Date('January 31, 2012 00:00:00 PST'); \/\/ Example user date, assuming it was parsed into PSTnnvar dateInUTC_PST = format.format({n    value: dateInPST,n    type: format.Type.DATETIME,n    timezone: format.Timezone.UTCn});nnvar dateInUTC_User = format.format({n    value: dateFromUserField,n    type: format.Type.DATETIME,n    timezone: format.Timezone.UTCn});nn\/\/ Now compare dateInUTC_PST and dateInUTC_User (as strings or after parsing back to Date objects)n\n```\n\n\n\n\n\nEn convertissant syst\u00e9matiquement toutes les dates dans un fuseau horaire unique et connu \u00e0 l\u2019aide de `N\/format`\n\navant de les comparer, les d\u00e9veloppeurs peuvent garantir la pr\u00e9cision des r\u00e9sultats, quels que soient le fuseau horaire par d\u00e9faut du serveur ou les param\u00e8tres locaux de l\u2019utilisateur.","ga_source_author":"","ga_source_author_email":"","ga_date_original":"2017-08-21T11:28:02-04:00","ga_date_verified":"2026-07-05","ga_source_subject":"Date comparisons, taking into account timezones","ga_ans_id":"ANS-0866","ga_publish_decision":"publish_with_edits","ga_staleness_risk":"high","ga_review_priority":"spot_check","ga_tier2_verdict":"partially_outdated","ga_tier2_concerns":"The manual JavaScript function `calcTime` for timezone conversion is largely superseded by NetSuite's native `N\/format` module in SuiteScript 2.x, which provides dedicated functionality for handling timezones.; While the underlying behavior of `new Date()` defaulting to Pacific Time (PST\/PDT) in server-side scripts remains, the recommended approach for date and timezone manipulation has evolved with SuiteScript 2.x.","ga_final_category":"SuiteScript Development","footnotes":""},"ga_category":[108,23,108],"ga_audience":[10],"ga_difficulty":[92],"class_list":["post-2605","qa_entry","type-qa_entry","status-publish","hentry","ga_category-developpement-suitescript","ga_category-suitescript-development","ga_audience-developer-suitescript","ga_difficulty-niveau-intermediaire"],"taxonomy_info":{"ga_category":[{"value":108,"label":"D\u00e9veloppement SuiteScript"},{"value":23,"label":"SuiteScript Development"},{"value":108,"label":"D\u00e9veloppement SuiteScript"}],"ga_audience":[{"value":10,"label":"Developer\/SuiteScript"}],"ga_difficulty":[{"value":92,"label":"Niveau interm\u00e9diaire"}]},"featured_image_src_large":[],"author_info":[],"comment_info":"","_links":{"self":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2605","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry"}],"about":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/types\/qa_entry"}],"version-history":[{"count":1,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2605\/revisions"}],"predecessor-version":[{"id":4525,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/qa_entry\/2605\/revisions\/4525"}],"wp:attachment":[{"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=2605"}],"wp:term":[{"taxonomy":"ga_category","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_category?post=2605"},{"taxonomy":"ga_audience","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_audience?post=2605"},{"taxonomy":"ga_difficulty","embeddable":true,"href":"https:\/\/answers.gurussolutions.com\/fr\/wp-json\/wp\/v2\/ga_difficulty?post=2605"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}