{"id":6603,"date":"2026-05-20T05:55:08","date_gmt":"2026-05-20T13:55:08","guid":{"rendered":"https:\/\/altsl.com\/?page_id=6603"},"modified":"2026-05-20T06:01:50","modified_gmt":"2026-05-20T14:01:50","slug":"slt-local-time-converter","status":"publish","type":"page","link":"https:\/\/altsl.com\/nl\/tools\/slt-local-time-converter\/","title":{"rendered":"SLT \u2194 lokale tijd-converter"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"6603\" class=\"elementor elementor-6603\" data-elementor-post-type=\"page\">\n\t\t\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-06a856b e-flex e-con-boxed e-con e-parent\" data-id=\"06a856b\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-a2af690 e-con-full e-flex e-con e-child\" data-id=\"a2af690\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-97dade6 elementor-widget elementor-widget-heading\" data-id=\"97dade6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h1 class=\"elementor-heading-title elementor-size-default\">SLT \u2194 Local Time Converter<\/h1>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-dc1319d elementor-widget elementor-widget-heading\" data-id=\"dc1319d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Convert Second Life Time to your local time or popular world timezones instantly<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c1e4bef elementor-widget elementor-widget-html\" data-id=\"c1e4bef\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/6.0.0\/css\/all.min.css\">\r\n\r\n<style>\r\n    .sl-nice-donate {\r\n        display: inline-flex;\r\n        align-items: center;\r\n        gap: 12px;\r\n        background: rgba(255, 255, 255, 0.03);\r\n        backdrop-filter: blur(8px);\r\n        -webkit-backdrop-filter: blur(8px);\r\n        padding: 6px 16px 6px 8px;\r\n        border-radius: 40px;\r\n        border: 1px solid rgba(179, 102, 255, 0.25);\r\n        cursor: pointer;\r\n        transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);\r\n        font-family: 'Segoe UI', Roboto, sans-serif;\r\n    }\r\n\r\n    .sl-nice-donate:hover {\r\n        background: rgba(68, 0, 102, 0.4);\r\n        border-color: #d199ff;\r\n        transform: translateY(-1px);\r\n    }\r\n\r\n    .linden-circle {\r\n        background: linear-gradient(135deg, #440066, #7c4dff);\r\n        color: #fff;\r\n        width: 32px;\r\n        height: 32px;\r\n        display: flex;\r\n        align-items: center;\r\n        justify-content: center;\r\n        border-radius: 50%;\r\n        font-weight: 800;\r\n        font-size: 13px;\r\n        box-shadow: 0 0 15px rgba(124, 77, 255, 0.4);\r\n    }\r\n\r\n    .nice-content {\r\n        display: flex;\r\n        flex-direction: column;\r\n    }\r\n\r\n    .nice-title {\r\n        color: #f0f0f0;\r\n        font-size: 12px;\r\n        font-weight: 600;\r\n        letter-spacing: 0.3px;\r\n    }\r\n\r\n    .nice-subtext {\r\n        color: #b366ff;\r\n        font-size: 10px;\r\n        font-style: italic;\r\n        opacity: 0.9;\r\n    }\r\n\r\n    .success-text {\r\n        color: #00ffbb !important;\r\n        font-weight: bold;\r\n    }\r\n<\/style>\r\n\r\n<div class=\"sl-nice-donate\" onclick=\"copyNiceName()\" title=\"Support the creator\">\r\n    <div class=\"linden-circle\" id=\"n-icon\">L$<\/div>\r\n    \r\n    <div class=\"nice-content\">\r\n        <span class=\"nice-title\" id=\"n-title\">Love our tools?<\/span>\r\n        <span class=\"nice-subtext\" id=\"n-sub\">Click to tip: OG.Resident<\/span>\r\n    <\/div>\r\n<\/div>\r\n\r\n<script>\r\nfunction copyNiceName() {\r\n    const avatar = \"OG.Resident\";\r\n    const profileURL = \"secondlife:\/\/\/app\/agent\/8e7df4ff-0d3f-4763-b840-e012b30a8c19\/about\";\r\n    \r\n    navigator.clipboard.writeText(avatar).then(() => {\r\n        const title = document.getElementById('n-title');\r\n        const sub = document.getElementById('n-sub');\r\n        const icon = document.getElementById('n-icon');\r\n\r\n        title.innerText = \"You're amazing!\";\r\n        title.classList.add('success-text');\r\n        sub.innerText = \"Name copied. Opening profile...\";\r\n        icon.innerHTML = \"<i class='fas fa-heart'><\/i>\";\r\n        icon.style.background = \"#00ffbb\";\r\n\r\n        window.location.href = profileURL;\r\n\r\n        setTimeout(() => {\r\n            title.innerText = \"Love our tools?\";\r\n            title.classList.remove('success-text');\r\n            sub.innerText = \"Click to tip: \" + avatar;\r\n            icon.innerText = \"L$\";\r\n            icon.style.background = \"linear-gradient(135deg, #440066, #7c4dff)\";\r\n        }, 4000);\r\n    });\r\n}\r\n<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div data-particle_enable=\"false\" data-particle-mobile-disabled=\"false\" class=\"elementor-element elementor-element-ece22fc e-con-full e-flex e-con e-parent\" data-id=\"ece22fc\" data-element_type=\"container\" data-e-type=\"container\" data-settings=\"{&quot;background_background&quot;:&quot;classic&quot;}\">\n\t\t\t\t<div class=\"elementor-element elementor-element-136732a elementor-widget elementor-widget-html\" data-id=\"136732a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<div class=\"slt-wrapper\">\r\n  <style>\r\n    .slt-wrapper,\r\n    .slt-wrapper * { box-sizing: border-box; }\r\n\r\n    .slt-wrapper {\r\n      font-family: var(--e-global-typography-text-font-family, \"Onest\", sans-serif);\r\n      color: var(--e-global-color-text, #ABABAB);\r\n      font-size: 14px;\r\n    }\r\n\r\n    .slt-card {\r\n      background: #0A0A0A;\r\n      border-radius: 4px;\r\n      padding: 18px;\r\n      box-shadow: 0 0 10px rgba(0,0,0,0.5);\r\n      border: 1px solid rgba(255,255,255,0.08);\r\n    }\r\n\r\n    .slt-container {\r\n      width: 100%;\r\n      max-width: 100%;\r\n      margin: 0;\r\n      display: grid;\r\n      grid-template-columns: 1fr 420px;\r\n      gap: 20px;\r\n      align-items: start;\r\n    }\r\n\r\n    .slt-header {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      gap: 12px;\r\n      margin-bottom: 15px;\r\n      border-bottom: 1px solid rgba(255,255,255,0.05);\r\n      padding-bottom: 15px;\r\n    }\r\n\r\n    .slt-title h1 {\r\n      margin: 0;\r\n      font-size: 20px;\r\n      color: var(--e-global-color-accent, #FFFFFF);\r\n      font-weight: 700;\r\n      letter-spacing: 0.5px;\r\n    }\r\n\r\n    .slt-lead {\r\n      margin: 3px 0 0;\r\n      color: var(--e-global-color-text, #999999);\r\n      font-size: 14px;\r\n      line-height: 1.5;\r\n    }\r\n\r\n    .slt-badge {\r\n      display: inline-flex;\r\n      align-items: center;\r\n      gap: 6px;\r\n      color: var(--e-global-color-accent, #FFFFFF);\r\n      background: rgba(255,255,255,0.04);\r\n      border: 1px solid rgba(255,255,255,0.08);\r\n      border-radius: 999px;\r\n      padding: 7px 10px;\r\n      font-size: 12px;\r\n      white-space: nowrap;\r\n      height: fit-content;\r\n    }\r\n\r\n    .slt-mode-toggle {\r\n      display: grid;\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 10px;\r\n      margin-bottom: 15px;\r\n    }\r\n\r\n    .slt-mode-button {\r\n      padding: 12px 14px;\r\n      border-radius: 4px;\r\n      border: 1px solid rgba(255,255,255,0.08);\r\n      background: rgba(255,255,255,0.03);\r\n      color: var(--e-global-color-text, #ABABAB);\r\n      font-weight: 700;\r\n      cursor: pointer;\r\n      transition: background 0.2s ease, transform 0.1s ease, border-color 0.2s ease;\r\n      text-transform: uppercase;\r\n      letter-spacing: 1px;\r\n      font-size: 12px;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 10px;\r\n    }\r\n\r\n    .slt-mode-button:hover {\r\n      background: rgba(255,255,255,0.06);\r\n      transform: translateY(-1px);\r\n    }\r\n\r\n    .slt-mode-button.active {\r\n      color: var(--e-global-color-accent, #FFFFFF);\r\n      border-color: rgba(255,255,255,0.18);\r\n      background: linear-gradient(90deg, #5D0090, #004A8F);\r\n    }\r\n\r\n    .slt-time-toggle {\r\n      display: grid;\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 10px;\r\n      margin-top: 10px;\r\n    }\r\n\r\n    .slt-time-format-button {\r\n      padding: 11px 12px;\r\n      border-radius: 4px;\r\n      border: 1px solid rgba(255,255,255,0.08);\r\n      background: rgba(255,255,255,0.03);\r\n      color: var(--e-global-color-text, #ABABAB);\r\n      font-weight: 700;\r\n      cursor: pointer;\r\n      transition: background 0.2s ease, transform 0.1s ease, border-color 0.2s ease;\r\n      text-transform: uppercase;\r\n      letter-spacing: 1px;\r\n      font-size: 12px;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 8px;\r\n    }\r\n\r\n    .slt-time-format-button:hover {\r\n      background: rgba(255,255,255,0.06);\r\n      transform: translateY(-1px);\r\n    }\r\n\r\n    .slt-time-format-button.active {\r\n      color: var(--e-global-color-accent, #FFFFFF);\r\n      border-color: rgba(255,255,255,0.18);\r\n      background: linear-gradient(90deg, #5D0090, #004A8F);\r\n    }\r\n\r\n    .slt-ampm-row {\r\n      display: grid;\r\n      grid-template-columns: repeat(3, minmax(0, 1fr));\r\n      gap: 10px;\r\n    }\r\n\r\n    .slt-wrapper[data-slt-time-format=\"24\"] .slt-time-12-field { display: none; }\r\n    .slt-wrapper[data-slt-time-format=\"12\"] .slt-time-24-field { display: none; }\r\n\r\n    .slt-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 12px;\r\n    }\r\n\r\n    .slt-field {\r\n      background: rgba(255,255,255,0.02);\r\n      border: 1px solid rgba(255,255,255,0.06);\r\n      border-radius: 4px;\r\n      padding: 12px;\r\n    }\r\n\r\n    .slt-field.full {\r\n      grid-column: 1 \/ -1;\r\n    }\r\n\r\n    .slt-field label {\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: space-between;\r\n      gap: 8px;\r\n      margin-bottom: 7px;\r\n      color: var(--e-global-color-accent, #FFFFFF);\r\n      font-weight: 600;\r\n      font-size: 13px;\r\n    }\r\n\r\n    .slt-help {\r\n      color: var(--e-global-color-text, #777777);\r\n      font-size: 11px;\r\n      font-weight: 400;\r\n      text-align: right;\r\n    }\r\n\r\n    .slt-field input,\r\n    .slt-field select {\r\n      width: 100%;\r\n      padding: 11px 10px;\r\n      border-radius: 4px;\r\n      border: 1px solid rgba(255,255,255,0.1);\r\n      background: #000000;\r\n      color: var(--e-global-color-accent, #FFFFFF);\r\n      font-size: 15px;\r\n      outline: none;\r\n      transition: border-color 0.2s ease, box-shadow 0.2s ease;\r\n    }\r\n\r\n    .slt-field input:focus,\r\n    .slt-field select:focus {\r\n      border-color: rgba(255,255,255,0.35);\r\n      box-shadow: 0 0 0 2px rgba(255,255,255,0.04);\r\n    }\r\n\r\n    .slt-custom-row {\r\n      display: grid;\r\n      grid-template-columns: 1fr auto;\r\n      gap: 10px;\r\n      align-items: end;\r\n    }\r\n\r\n    .slt-controls {\r\n      display: flex;\r\n      gap: 10px;\r\n      align-items: center;\r\n      margin-top: 15px;\r\n      justify-content: flex-start;\r\n    }\r\n\r\n    .slt-button {\r\n      flex: 1;\r\n      min-width: 150px;\r\n      max-width: 380px;\r\n      padding: 12px 18px;\r\n      border-radius: 4px;\r\n      border: none;\r\n      color: var(--e-global-color-accent, #FFFFFF);\r\n      font-weight: 600;\r\n      cursor: pointer;\r\n      transition: background 0.2s ease, transform 0.1s ease;\r\n      text-transform: uppercase;\r\n      letter-spacing: 1px;\r\n      font-size: 13px;\r\n      display: flex;\r\n      align-items: center;\r\n      justify-content: center;\r\n      gap: 12px;\r\n    }\r\n\r\n    .slt-button i { font-size: 16px; }\r\n    .slt-convert-btn { background: #5D0090; }\r\n    .slt-convert-btn:hover { background: #8A00C0; transform: translateY(-1px); }\r\n    .slt-now-btn { background: #004A8F; }\r\n    .slt-now-btn:hover { background: #007CE0; transform: translateY(-1px); }\r\n    .slt-copy-btn { background: #262626; }\r\n    .slt-copy-btn:hover { background: #3A3A3A; transform: translateY(-1px); }\r\n\r\n    .slt-note {\r\n      margin: 12px 0 0;\r\n      padding: 12px;\r\n      border-radius: 4px;\r\n      background: rgba(255,255,255,0.02);\r\n      border: 1px dashed rgba(255,255,255,0.08);\r\n      color: var(--e-global-color-text, #777777);\r\n      font-size: 12px;\r\n      line-height: 1.45;\r\n    }\r\n\r\n    .slt-meta {\r\n      font-size: 12px;\r\n      color: var(--e-global-color-text, #777777);\r\n    }\r\n\r\n    .slt-result-grid {\r\n      display: grid;\r\n      grid-template-columns: repeat(2, minmax(0, 1fr));\r\n      gap: 8px;\r\n      margin-top: 12px;\r\n    }\r\n\r\n    .slt-stat {\r\n      background: rgba(255,255,255,0.03);\r\n      border: 1px solid rgba(255,255,255,0.06);\r\n      border-radius: 4px;\r\n      padding: 12px;\r\n    }\r\n\r\n    .slt-stat.wide {\r\n      grid-column: 1 \/ -1;\r\n    }\r\n\r\n    .slt-stat .slt-stat-label {\r\n      display: block;\r\n      color: var(--e-global-color-text, #777777);\r\n      font-size: 11px;\r\n      text-transform: uppercase;\r\n      letter-spacing: 0.8px;\r\n      margin-bottom: 6px;\r\n    }\r\n\r\n    .slt-stat .slt-stat-value {\r\n      display: block;\r\n      color: var(--e-global-color-accent, #FFFFFF);\r\n      font-size: 20px;\r\n      font-weight: 700;\r\n      line-height: 1.15;\r\n      word-break: break-word;\r\n    }\r\n\r\n    .slt-stat .slt-stat-sub {\r\n      display: block;\r\n      margin-top: 5px;\r\n      color: var(--e-global-color-text, #777777);\r\n      font-size: 12px;\r\n      line-height: 1.35;\r\n    }\r\n\r\n    .slt-clock {\r\n      width: 100%;\r\n      min-height: 84px;\r\n      border-radius: 4px;\r\n      background: #050505;\r\n      border: 1px solid rgba(255,255,255,0.06);\r\n      margin-top: 15px;\r\n      padding: 16px;\r\n      display: flex;\r\n      flex-direction: column;\r\n      justify-content: center;\r\n      gap: 8px;\r\n    }\r\n\r\n    .slt-clock-row {\r\n      display: flex;\r\n      justify-content: space-between;\r\n      gap: 12px;\r\n      align-items: baseline;\r\n      color: var(--e-global-color-text, #999999);\r\n      font-size: 12px;\r\n    }\r\n\r\n    .slt-clock-row strong {\r\n      color: var(--e-global-color-accent, #FFFFFF);\r\n      font-size: 17px;\r\n      text-align: right;\r\n    }\r\n\r\n    .slt-list {\r\n      display: flex;\r\n      flex-direction: column;\r\n      gap: 6px;\r\n      max-height: 380px;\r\n      overflow-y: auto;\r\n      padding-right: 6px;\r\n      margin-top: 10px;\r\n    }\r\n\r\n    .slt-list::-webkit-scrollbar { width: 6px; }\r\n    .slt-list::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.15); border-radius: 3px; }\r\n    .slt-list::-webkit-scrollbar-track { background: transparent; }\r\n\r\n    .slt-row {\r\n      display: grid;\r\n      grid-template-columns: 1fr auto;\r\n      gap: 10px;\r\n      align-items: center;\r\n      padding: 8px 10px;\r\n      border-radius: 4px;\r\n      background: rgba(255,255,255,0.03);\r\n      border: 1px solid transparent;\r\n      transition: background 0.15s ease;\r\n    }\r\n\r\n    .slt-row:hover { background: rgba(255,255,255,0.05); }\r\n    .slt-row span:first-child { color: var(--e-global-color-text, #ABABAB); }\r\n    .slt-row strong {\r\n      color: var(--e-global-color-accent, #FFFFFF);\r\n      font-weight: 600;\r\n      white-space: nowrap;\r\n      text-align: right;\r\n    }\r\n\r\n    .slt-report {\r\n      width: 100%;\r\n      height: 150px;\r\n      margin-top: 12px;\r\n      background: #000000;\r\n      border-radius: 4px;\r\n      padding: 12px;\r\n      font-family: monospace;\r\n      color: #00FF99;\r\n      overflow: auto;\r\n      resize: vertical;\r\n      border: 1px solid rgba(255,255,255,0.06);\r\n      font-size: 12px;\r\n      line-height: 1.4;\r\n    }\r\n\r\n    .slt-status {\r\n      min-height: 18px;\r\n      margin-top: 8px;\r\n      color: var(--e-global-color-text, #777777);\r\n      font-size: 12px;\r\n    }\r\n\r\n    @media(max-width:980px) {\r\n      .slt-container { grid-template-columns: 1fr; }\r\n      .slt-controls { flex-direction: column; align-items: stretch; }\r\n      .slt-button { min-width: unset; max-width: unset; width: 100%; }\r\n    }\r\n\r\n    @media(max-width:620px) {\r\n      .slt-grid,\r\n      .slt-result-grid,\r\n      .slt-mode-toggle,\r\n      .slt-custom-row { grid-template-columns: 1fr; }\r\n      .slt-header { flex-direction: column; }\r\n      .slt-badge { width: fit-content; }\r\n      .slt-clock-row { flex-direction: column; gap: 3px; }\r\n      .slt-clock-row strong { text-align: left; }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"slt-card slt-container\" id=\"sltApp\">\r\n    <div>\r\n      <div class=\"slt-header\">\r\n        <div class=\"slt-title\">\r\n          <h1>SLT \u2194 Local Time Converter<\/h1>\r\n          <p class=\"slt-lead\">Convert Second Life Time to your local time or popular world timezones for events, sales, DJ sets, and releases.<\/p>\r\n        <\/div>\r\n        <div class=\"slt-badge\"><i class=\"fas fa-clock\"><\/i> Local browser tool<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"slt-mode-toggle\" aria-label=\"Conversion direction\">\r\n        <button class=\"slt-mode-button active\" type=\"button\" data-slt-mode=\"slt-to-zone\"><i class=\"fas fa-arrow-right\"><\/i> SLT to Local<\/button>\r\n        <button class=\"slt-mode-button\" type=\"button\" data-slt-mode=\"zone-to-slt\"><i class=\"fas fa-arrow-left\"><\/i> Local to SLT<\/button>\r\n      <\/div>\r\n\r\n      <form class=\"slt-form\" autocomplete=\"off\">\r\n        <div class=\"slt-grid\">\r\n          <div class=\"slt-field\">\r\n            <label for=\"slt_date\">Date <span class=\"slt-help\">event date<\/span><\/label>\r\n            <input id=\"slt_date\" data-slt-input=\"date\" type=\"date\">\r\n          <\/div>\r\n\r\n          <div class=\"slt-field\">\r\n            <label for=\"slt_time\">Time <span class=\"slt-help\" data-slt-output=\"timeHelp\">SLT<\/span><\/label>\r\n            <div class=\"slt-time-24-field\">\r\n              <input id=\"slt_time\" data-slt-input=\"time\" type=\"time\" step=\"60\">\r\n            <\/div>\r\n            <div class=\"slt-time-12-field\">\r\n              <div class=\"slt-ampm-row\">\r\n                <select data-slt-input=\"hour12\" aria-label=\"Hour\"><\/select>\r\n                <select data-slt-input=\"minute12\" aria-label=\"Minute\"><\/select>\r\n                <select data-slt-input=\"ampm\" aria-label=\"AM or PM\">\r\n                  <option value=\"AM\">AM<\/option>\r\n                  <option value=\"PM\">PM<\/option>\r\n                <\/select>\r\n              <\/div>\r\n            <\/div>\r\n            <div class=\"slt-time-toggle\" aria-label=\"Time format\">\r\n              <button class=\"slt-time-format-button active\" type=\"button\" data-slt-time-format=\"24\"><i class=\"fas fa-clock\"><\/i> 24H \/ European<\/button>\r\n              <button class=\"slt-time-format-button\" type=\"button\" data-slt-time-format=\"12\"><i class=\"fas fa-clock\"><\/i> AM \/ PM<\/button>\r\n            <\/div>\r\n          <\/div>\r\n\r\n          <div class=\"slt-field full\">\r\n            <label for=\"slt_zone\">Target timezone <span class=\"slt-help\">popular zones<\/span><\/label>\r\n            <select id=\"slt_zone\" data-slt-input=\"zone\"><\/select>\r\n          <\/div>\r\n\r\n          <div class=\"slt-field full\">\r\n            <label for=\"slt_custom_zone\">Custom timezone <span class=\"slt-help\">optional IANA name<\/span><\/label>\r\n            <div class=\"slt-custom-row\">\r\n              <input id=\"slt_custom_zone\" data-slt-input=\"customZone\" type=\"text\" placeholder=\"Example: Europe\/Amsterdam\">\r\n              <button class=\"slt-button slt-copy-btn\" type=\"button\" data-slt-action=\"useCustom\" style=\"min-width:120px;max-width:none;\"><i class=\"fas fa-plus\"><\/i> USE<\/button>\r\n            <\/div>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"slt-controls\">\r\n          <button class=\"slt-button slt-convert-btn\" type=\"button\" data-slt-action=\"convert\"><i class=\"fas fa-exchange-alt\"><\/i> CONVERT<\/button>\r\n          <button class=\"slt-button slt-now-btn\" type=\"button\" data-slt-action=\"now\"><i class=\"fas fa-bolt\"><\/i> USE NOW<\/button>\r\n          <button class=\"slt-button slt-copy-btn\" type=\"button\" data-slt-action=\"copy\"><i class=\"fas fa-copy\"><\/i> COPY<\/button>\r\n        <\/div>\r\n\r\n        <div class=\"slt-note\">\r\n          SLT is handled as America\/Los_Angeles, so daylight saving time is calculated automatically. The dropdown uses popular timezones plus your browser timezone; custom IANA names also work when supported by the browser.\r\n        <\/div>\r\n      <\/form>\r\n\r\n      <div class=\"slt-clock\" aria-label=\"Current SLT and local time\">\r\n        <div class=\"slt-clock-row\"><span>Current SLT<\/span><strong data-slt-output=\"liveSlt\">--<\/strong><\/div>\r\n        <div class=\"slt-clock-row\"><span>Your local time<\/span><strong data-slt-output=\"liveLocal\">--<\/strong><\/div>\r\n      <\/div>\r\n    <\/div>\r\n\r\n    <aside>\r\n      <div class=\"slt-card\" style=\"padding:14px;\">\r\n        <div style=\"display:flex;justify-content:space-between;align-items:center;gap:12px;\">\r\n          <div><strong style=\"color:var(--e-global-color-accent,#FFFFFF);\">Converted Time<\/strong><div class=\"slt-meta\" data-slt-output=\"modeMeta\">SLT to local timezone<\/div><\/div>\r\n          <div class=\"slt-meta\" data-slt-output=\"zoneMeta\">--<\/div>\r\n        <\/div>\r\n\r\n        <div class=\"slt-result-grid\">\r\n          <div class=\"slt-stat wide\">\r\n            <span class=\"slt-stat-label\" data-slt-output=\"resultLabel\">Result<\/span>\r\n            <span class=\"slt-stat-value\" data-slt-output=\"mainResult\">--<\/span>\r\n            <span class=\"slt-stat-sub\" data-slt-output=\"resultSub\">Choose a date and time.<\/span>\r\n          <\/div>\r\n          <div class=\"slt-stat\">\r\n            <span class=\"slt-stat-label\">SLT<\/span>\r\n            <span class=\"slt-stat-value\" data-slt-output=\"sltResult\">--<\/span>\r\n          <\/div>\r\n          <div class=\"slt-stat\">\r\n            <span class=\"slt-stat-label\">Selected zone<\/span>\r\n            <span class=\"slt-stat-value\" data-slt-output=\"zoneResult\">--<\/span>\r\n          <\/div>\r\n        <\/div>\r\n\r\n        <div class=\"slt-list\" data-slt-output=\"popularList\"><\/div>\r\n\r\n        <div style=\"border-top:1px dashed rgba(255,255,255,0.06);padding-top:12px;margin-top:12px\">\r\n          <div class=\"slt-meta\">Copy this event time for notices, Discord, Flickr, Marketplace, or event pages.<\/div>\r\n          <textarea class=\"slt-report\" data-slt-output=\"report\" readonly><\/textarea>\r\n          <div class=\"slt-status\" data-slt-output=\"status\"><\/div>\r\n        <\/div>\r\n      <\/div>\r\n    <\/aside>\r\n  <\/div>\r\n\r\n  <link rel=\"stylesheet\" href=\"https:\/\/cdnjs.cloudflare.com\/ajax\/libs\/font-awesome\/5.15.3\/css\/all.min.css\">\r\n\r\n  <script>\r\n  (function() {\r\n    const SLT_ZONE = 'America\/Los_Angeles';\r\n    const STORAGE_KEY = 'altsl_slt_converter_v1';\r\n\r\n    const POPULAR_ZONES = [\r\n      { label: 'My local timezone', zone: 'local' },\r\n      { label: 'Second Life Time \/ Pacific', zone: 'America\/Los_Angeles' },\r\n      { label: 'New York \/ Eastern', zone: 'America\/New_York' },\r\n      { label: 'Chicago \/ Central', zone: 'America\/Chicago' },\r\n      { label: 'Denver \/ Mountain', zone: 'America\/Denver' },\r\n      { label: 'Anchorage \/ Alaska', zone: 'America\/Anchorage' },\r\n      { label: 'Honolulu \/ Hawaii', zone: 'Pacific\/Honolulu' },\r\n      { label: 'Toronto', zone: 'America\/Toronto' },\r\n      { label: 'Vancouver', zone: 'America\/Vancouver' },\r\n      { label: 'Mexico City', zone: 'America\/Mexico_City' },\r\n      { label: 'S\u00e3o Paulo', zone: 'America\/Sao_Paulo' },\r\n      { label: 'Buenos Aires', zone: 'America\/Argentina\/Buenos_Aires' },\r\n      { label: 'UTC \/ GMT', zone: 'UTC' },\r\n      { label: 'London', zone: 'Europe\/London' },\r\n      { label: 'Amsterdam', zone: 'Europe\/Amsterdam' },\r\n      { label: 'Berlin', zone: 'Europe\/Berlin' },\r\n      { label: 'Paris', zone: 'Europe\/Paris' },\r\n      { label: 'Madrid', zone: 'Europe\/Madrid' },\r\n      { label: 'Rome', zone: 'Europe\/Rome' },\r\n      { label: 'Stockholm', zone: 'Europe\/Stockholm' },\r\n      { label: 'Helsinki', zone: 'Europe\/Helsinki' },\r\n      { label: 'Athens', zone: 'Europe\/Athens' },\r\n      { label: 'Istanbul', zone: 'Europe\/Istanbul' },\r\n      { label: 'Cairo', zone: 'Africa\/Cairo' },\r\n      { label: 'Johannesburg', zone: 'Africa\/Johannesburg' },\r\n      { label: 'Dubai', zone: 'Asia\/Dubai' },\r\n      { label: 'Mumbai', zone: 'Asia\/Kolkata' },\r\n      { label: 'Bangkok', zone: 'Asia\/Bangkok' },\r\n      { label: 'Singapore', zone: 'Asia\/Singapore' },\r\n      { label: 'Hong Kong', zone: 'Asia\/Hong_Kong' },\r\n      { label: 'Tokyo', zone: 'Asia\/Tokyo' },\r\n      { label: 'Seoul', zone: 'Asia\/Seoul' },\r\n      { label: 'Perth', zone: 'Australia\/Perth' },\r\n      { label: 'Adelaide', zone: 'Australia\/Adelaide' },\r\n      { label: 'Sydney', zone: 'Australia\/Sydney' },\r\n      { label: 'Auckland', zone: 'Pacific\/Auckland' }\r\n    ];\r\n\r\n    function bootSltConverters() {\r\n      document.querySelectorAll('.slt-wrapper').forEach(initSltConverter);\r\n    }\r\n\r\n    function initSltConverter(root) {\r\n      if (!root || root.dataset.sltReady === '1') return;\r\n      root.dataset.sltReady = '1';\r\n\r\n      const inputs = {\r\n        date: root.querySelector('[data-slt-input=\"date\"]'),\r\n        time: root.querySelector('[data-slt-input=\"time\"]'),\r\n        hour12: root.querySelector('[data-slt-input=\"hour12\"]'),\r\n        minute12: root.querySelector('[data-slt-input=\"minute12\"]'),\r\n        ampm: root.querySelector('[data-slt-input=\"ampm\"]'),\r\n        zone: root.querySelector('[data-slt-input=\"zone\"]'),\r\n        customZone: root.querySelector('[data-slt-input=\"customZone\"]')\r\n      };\r\n\r\n      const out = {};\r\n      root.querySelectorAll('[data-slt-output]').forEach(function(el) {\r\n        out[el.dataset.sltOutput] = el;\r\n      });\r\n\r\n      const modeButtons = root.querySelectorAll('[data-slt-mode]');\r\n      const timeFormatButtons = root.querySelectorAll('[data-slt-time-format]');\r\n      let mode = 'slt-to-zone';\r\n      let timeFormat = '24';\r\n\r\n      populateTimeSelectors();\r\n      populateZones();\r\n      setDefaults();\r\n      loadSaved();\r\n      attachEvents();\r\n      render();\r\n      updateLiveClock();\r\n      setInterval(updateLiveClock, 30000);\r\n\r\n      function getBrowserZone() {\r\n        return Intl.DateTimeFormat().resolvedOptions().timeZone || 'UTC';\r\n      }\r\n\r\n      function isValidTimeZone(zone) {\r\n        try {\r\n          new Intl.DateTimeFormat('en-US', { timeZone: zone }).format(new Date());\r\n          return true;\r\n        } catch (e) {\r\n          return false;\r\n        }\r\n      }\r\n\r\n      function populateZones() {\r\n        const localZone = getBrowserZone();\r\n        inputs.zone.innerHTML = '';\r\n\r\n        POPULAR_ZONES.forEach(function(item) {\r\n          const option = document.createElement('option');\r\n          option.value = item.zone === 'local' ? localZone : item.zone;\r\n          option.textContent = item.zone === 'local' ? 'My local timezone \u2014 ' + localZone : item.label + ' \u2014 ' + item.zone;\r\n          inputs.zone.appendChild(option);\r\n        });\r\n      }\r\n\r\n      function setDefaults() {\r\n        const now = new Date();\r\n        const parts = getParts(now, SLT_ZONE);\r\n        inputs.date.value = parts.year + '-' + pad(parts.month) + '-' + pad(parts.day);\r\n        setTime24(pad(parts.hour) + ':' + pad(parts.minute));\r\n        inputs.zone.value = getBrowserZone();\r\n      }\r\n\r\n      function attachEvents() {\r\n        modeButtons.forEach(function(button) {\r\n          button.addEventListener('click', function() {\r\n            setMode(button.dataset.sltMode);\r\n            render();\r\n            saveState();\r\n          });\r\n        });\r\n\r\n        timeFormatButtons.forEach(function(button) {\r\n          button.addEventListener('click', function() {\r\n            setTimeFormat(button.dataset.sltTimeFormat);\r\n            render();\r\n            saveState();\r\n          });\r\n        });\r\n\r\n        ['input', 'change'].forEach(function(eventName) {\r\n          inputs.date.addEventListener(eventName, function() { render(); saveState(); });\r\n          inputs.time.addEventListener(eventName, function() { sync12From24(); render(); saveState(); });\r\n          inputs.hour12.addEventListener(eventName, function() { sync24From12(); render(); saveState(); });\r\n          inputs.minute12.addEventListener(eventName, function() { sync24From12(); render(); saveState(); });\r\n          inputs.ampm.addEventListener(eventName, function() { sync24From12(); render(); saveState(); });\r\n          inputs.zone.addEventListener(eventName, function() { render(); saveState(); });\r\n        });\r\n\r\n        root.querySelector('[data-slt-action=\"convert\"]').addEventListener('click', function() {\r\n          render();\r\n          setStatus('Time converted.');\r\n          saveState();\r\n        });\r\n\r\n        root.querySelector('[data-slt-action=\"now\"]').addEventListener('click', function() {\r\n          useNow();\r\n          render();\r\n          setStatus('Current time loaded.');\r\n          saveState();\r\n        });\r\n\r\n        root.querySelector('[data-slt-action=\"copy\"]').addEventListener('click', copyReport);\r\n\r\n        root.querySelector('[data-slt-action=\"useCustom\"]').addEventListener('click', function() {\r\n          const custom = inputs.customZone.value.trim();\r\n          if (!custom) {\r\n            setStatus('Enter a timezone like Europe\/Amsterdam.');\r\n            return;\r\n          }\r\n          if (!isValidTimeZone(custom)) {\r\n            setStatus('That timezone is not supported by this browser. Try an IANA name like America\/New_York.');\r\n            return;\r\n          }\r\n          addOrSelectCustomZone(custom);\r\n          render();\r\n          saveState();\r\n          setStatus('Custom timezone selected.');\r\n        });\r\n      }\r\n\r\n      function setMode(newMode) {\r\n        mode = newMode === 'zone-to-slt' ? 'zone-to-slt' : 'slt-to-zone';\r\n        modeButtons.forEach(function(button) {\r\n          button.classList.toggle('active', button.dataset.sltMode === mode);\r\n        });\r\n        out.timeHelp.textContent = mode === 'slt-to-zone' ? 'SLT' : 'selected zone';\r\n        out.modeMeta.textContent = mode === 'slt-to-zone' ? 'SLT to selected timezone' : 'Selected timezone to SLT';\r\n      }\r\n\r\n      function setTimeFormat(newFormat) {\r\n        timeFormat = newFormat === '12' ? '12' : '24';\r\n        root.dataset.sltTimeFormat = timeFormat;\r\n        timeFormatButtons.forEach(function(button) {\r\n          button.classList.toggle('active', button.dataset.sltTimeFormat === timeFormat);\r\n        });\r\n        sync12From24();\r\n      }\r\n\r\n      function populateTimeSelectors() {\r\n        inputs.hour12.innerHTML = '';\r\n        for (let h = 1; h <= 12; h++) {\r\n          const option = document.createElement('option');\r\n          option.value = String(h);\r\n          option.textContent = String(h);\r\n          inputs.hour12.appendChild(option);\r\n        }\r\n\r\n        inputs.minute12.innerHTML = '';\r\n        for (let m = 0; m < 60; m += 5) {\r\n          const option = document.createElement('option');\r\n          option.value = pad(m);\r\n          option.textContent = pad(m);\r\n          inputs.minute12.appendChild(option);\r\n        }\r\n      }\r\n\r\n      function setTime24(value) {\r\n        inputs.time.value = value;\r\n        sync12From24();\r\n      }\r\n\r\n      function sync12From24() {\r\n        const value = inputs.time.value || '00:00';\r\n        const parts = value.split(':').map(Number);\r\n        const hour24 = Number.isFinite(parts[0]) ? parts[0] : 0;\r\n        const minute = Number.isFinite(parts[1]) ? parts[1] : 0;\r\n        const ampm = hour24 >= 12 ? 'PM' : 'AM';\r\n        const hour12 = hour24 % 12 || 12;\r\n        inputs.hour12.value = String(hour12);\r\n        inputs.minute12.value = pad(Math.round(minute \/ 5) * 5 === 60 ? 55 : Math.round(minute \/ 5) * 5);\r\n        inputs.ampm.value = ampm;\r\n      }\r\n\r\n      function sync24From12() {\r\n        let hour = parseInt(inputs.hour12.value, 10);\r\n        let minute = parseInt(inputs.minute12.value, 10);\r\n        const ampm = inputs.ampm.value === 'PM' ? 'PM' : 'AM';\r\n        if (!Number.isFinite(hour)) hour = 12;\r\n        if (!Number.isFinite(minute)) minute = 0;\r\n        if (ampm === 'AM' && hour === 12) hour = 0;\r\n        else if (ampm === 'PM' && hour !== 12) hour += 12;\r\n        inputs.time.value = pad(hour) + ':' + pad(minute);\r\n      }\r\n\r\n      function useNow() {\r\n        const zone = mode === 'slt-to-zone' ? SLT_ZONE : getSelectedZone();\r\n        const parts = getParts(new Date(), zone);\r\n        inputs.date.value = parts.year + '-' + pad(parts.month) + '-' + pad(parts.day);\r\n        setTime24(pad(parts.hour) + ':' + pad(parts.minute));\r\n      }\r\n\r\n      function addOrSelectCustomZone(zone) {\r\n        let found = false;\r\n        Array.from(inputs.zone.options).forEach(function(option) {\r\n          if (option.value === zone) found = true;\r\n        });\r\n        if (!found) {\r\n          const option = document.createElement('option');\r\n          option.value = zone;\r\n          option.textContent = 'Custom \u2014 ' + zone;\r\n          inputs.zone.appendChild(option);\r\n        }\r\n        inputs.zone.value = zone;\r\n      }\r\n\r\n      function getSelectedZone() {\r\n        return inputs.zone.value || getBrowserZone();\r\n      }\r\n\r\n      function render() {\r\n        if (timeFormat === '12') sync24From12();\r\n        if (!inputs.date.value || !inputs.time.value) return;\r\n\r\n        const selectedZone = getSelectedZone();\r\n        const sourceZone = mode === 'slt-to-zone' ? SLT_ZONE : selectedZone;\r\n        const targetZone = mode === 'slt-to-zone' ? selectedZone : SLT_ZONE;\r\n        const instant = zonedTimeToDate(inputs.date.value, inputs.time.value, sourceZone);\r\n\r\n        if (!instant || isNaN(instant.getTime())) {\r\n          setStatus('Could not read that date\/time.');\r\n          return;\r\n        }\r\n\r\n        const sltText = formatInZone(instant, SLT_ZONE, true);\r\n        const selectedText = formatInZone(instant, selectedZone, true);\r\n        const sourceText = formatInZone(instant, sourceZone, true);\r\n        const targetText = formatInZone(instant, targetZone, true);\r\n        const shortSlt = formatInZone(instant, SLT_ZONE, false);\r\n        const shortSelected = formatInZone(instant, selectedZone, false);\r\n        const sourceName = sourceZone === SLT_ZONE ? 'SLT' : selectedZone;\r\n        const targetName = targetZone === SLT_ZONE ? 'SLT' : selectedZone;\r\n\r\n        out.zoneMeta.textContent = selectedZone;\r\n        out.resultLabel.textContent = mode === 'slt-to-zone' ? 'Selected timezone result' : 'Second Life Time result';\r\n        out.mainResult.textContent = targetText;\r\n        out.resultSub.textContent = sourceName + ' \u2192 ' + targetName;\r\n        out.sltResult.textContent = shortSlt;\r\n        out.zoneResult.textContent = shortSelected;\r\n\r\n        renderPopularList(instant);\r\n        out.report.value = buildReport(instant, selectedZone, sourceText, targetText);\r\n      }\r\n\r\n      function renderPopularList(instant) {\r\n        const rows = [\r\n          { label: 'Second Life Time', zone: SLT_ZONE },\r\n          { label: 'Your local time', zone: getBrowserZone() },\r\n          { label: 'New York', zone: 'America\/New_York' },\r\n          { label: 'London', zone: 'Europe\/London' },\r\n          { label: 'Amsterdam', zone: 'Europe\/Amsterdam' },\r\n          { label: 'Tokyo', zone: 'Asia\/Tokyo' },\r\n          { label: 'Sydney', zone: 'Australia\/Sydney' }\r\n        ];\r\n\r\n        out.popularList.innerHTML = '';\r\n        rows.forEach(function(item) {\r\n          const row = document.createElement('div');\r\n          row.className = 'slt-row';\r\n          row.innerHTML = '<span><\/span><strong><\/strong>';\r\n          row.querySelector('span').textContent = item.label;\r\n          row.querySelector('strong').textContent = formatInZone(instant, item.zone, false);\r\n          out.popularList.appendChild(row);\r\n        });\r\n      }\r\n\r\n      function buildReport(instant, selectedZone, sourceText, targetText) {\r\n        const lines = [];\r\n        lines.push('Second Life Time Converter');\r\n        lines.push('--------------------------');\r\n        lines.push('Conversion: ' + (mode === 'slt-to-zone' ? 'SLT to selected timezone' : 'Selected timezone to SLT'));\r\n        lines.push('Selected timezone: ' + selectedZone);\r\n        lines.push('');\r\n        lines.push('Input: ' + sourceText);\r\n        lines.push('Result: ' + targetText);\r\n        lines.push('');\r\n        lines.push('SLT: ' + formatInZone(instant, SLT_ZONE, true));\r\n        lines.push('Local\/browser: ' + formatInZone(instant, getBrowserZone(), true));\r\n        lines.push('UTC: ' + formatInZone(instant, 'UTC', true));\r\n        return lines.join('\\n');\r\n      }\r\n\r\n      async function copyReport() {\r\n        render();\r\n        const text = out.report.value;\r\n        try {\r\n          if (navigator.clipboard && window.isSecureContext) {\r\n            await navigator.clipboard.writeText(text);\r\n          } else {\r\n            out.report.focus();\r\n            out.report.select();\r\n            document.execCommand('copy');\r\n            out.report.setSelectionRange(0, 0);\r\n          }\r\n          setStatus('Converted time copied.');\r\n        } catch (err) {\r\n          setStatus('Copy failed. Select the report text and copy manually.');\r\n        }\r\n      }\r\n\r\n      function updateLiveClock() {\r\n        const now = new Date();\r\n        out.liveSlt.textContent = formatInZone(now, SLT_ZONE, false);\r\n        out.liveLocal.textContent = formatInZone(now, getBrowserZone(), false);\r\n      }\r\n\r\n      function saveState() {\r\n        const data = {\r\n          mode: mode,\r\n          date: inputs.date.value,\r\n          time: inputs.time.value,\r\n          timeFormat: timeFormat,\r\n          zone: inputs.zone.value,\r\n          customZone: inputs.customZone.value\r\n        };\r\n        try { localStorage.setItem(STORAGE_KEY, JSON.stringify(data)); } catch (e) {}\r\n      }\r\n\r\n      function loadSaved() {\r\n        try {\r\n          const saved = JSON.parse(localStorage.getItem(STORAGE_KEY) || '{}');\r\n          if (saved.zone && isValidTimeZone(saved.zone)) addOrSelectCustomZone(saved.zone);\r\n          if (saved.date) inputs.date.value = saved.date;\r\n          if (saved.time) setTime24(saved.time);\r\n          if (saved.customZone) inputs.customZone.value = saved.customZone;\r\n          setTimeFormat(saved.timeFormat || '24');\r\n          setMode(saved.mode || 'slt-to-zone');\r\n        } catch (e) {\r\n          setTimeFormat('24');\r\n          setMode('slt-to-zone');\r\n        }\r\n      }\r\n\r\n      function setStatus(message) {\r\n        out.status.textContent = message || '';\r\n        if (message) {\r\n          window.clearTimeout(setStatus._timer);\r\n          setStatus._timer = window.setTimeout(function() {\r\n            out.status.textContent = '';\r\n          }, 3500);\r\n        }\r\n      }\r\n    }\r\n\r\n    function pad(number) {\r\n      return String(number).padStart(2, '0');\r\n    }\r\n\r\n    function getParts(date, timeZone) {\r\n      const formatter = new Intl.DateTimeFormat('en-US', {\r\n        timeZone: timeZone,\r\n        year: 'numeric',\r\n        month: '2-digit',\r\n        day: '2-digit',\r\n        hour: '2-digit',\r\n        minute: '2-digit',\r\n        second: '2-digit',\r\n        hourCycle: 'h23'\r\n      });\r\n      const parts = {};\r\n      formatter.formatToParts(date).forEach(function(part) {\r\n        if (part.type !== 'literal') parts[part.type] = part.value;\r\n      });\r\n      return {\r\n        year: Number(parts.year),\r\n        month: Number(parts.month),\r\n        day: Number(parts.day),\r\n        hour: Number(parts.hour),\r\n        minute: Number(parts.minute),\r\n        second: Number(parts.second || 0)\r\n      };\r\n    }\r\n\r\n    function partsToUtcMs(parts) {\r\n      return Date.UTC(parts.year, parts.month - 1, parts.day, parts.hour, parts.minute, parts.second || 0);\r\n    }\r\n\r\n    function zonedTimeToDate(dateValue, timeValue, timeZone) {\r\n      const dateBits = dateValue.split('-').map(Number);\r\n      const timeBits = timeValue.split(':').map(Number);\r\n      const wanted = {\r\n        year: dateBits[0],\r\n        month: dateBits[1],\r\n        day: dateBits[2],\r\n        hour: timeBits[0] || 0,\r\n        minute: timeBits[1] || 0,\r\n        second: 0\r\n      };\r\n\r\n      let utcMs = partsToUtcMs(wanted);\r\n      for (let i = 0; i < 4; i++) {\r\n        const got = getParts(new Date(utcMs), timeZone);\r\n        const diff = partsToUtcMs(wanted) - partsToUtcMs(got);\r\n        if (diff === 0) break;\r\n        utcMs += diff;\r\n      }\r\n      return new Date(utcMs);\r\n    }\r\n\r\n    function getTzName(date, timeZone) {\r\n      try {\r\n        const formatter = new Intl.DateTimeFormat('en-US', {\r\n          timeZone: timeZone,\r\n          timeZoneName: 'short'\r\n        });\r\n        const part = formatter.formatToParts(date).find(function(p) { return p.type === 'timeZoneName'; });\r\n        return part ? part.value : timeZone;\r\n      } catch (e) {\r\n        return timeZone;\r\n      }\r\n    }\r\n\r\n    function formatInZone(date, timeZone, includeDate) {\r\n      const options = includeDate ? {\r\n        timeZone: timeZone,\r\n        weekday: 'short',\r\n        year: 'numeric',\r\n        month: 'short',\r\n        day: 'numeric',\r\n        hour: 'numeric',\r\n        minute: '2-digit',\r\n        hour12: true\r\n      } : {\r\n        timeZone: timeZone,\r\n        weekday: 'short',\r\n        hour: 'numeric',\r\n        minute: '2-digit',\r\n        hour12: true\r\n      };\r\n      return new Intl.DateTimeFormat(undefined, options).format(date) + ' ' + getTzName(date, timeZone);\r\n    }\r\n\r\n    if (document.readyState === 'loading') {\r\n      document.addEventListener('DOMContentLoaded', bootSltConverters);\r\n    } else {\r\n      bootSltConverters();\r\n    }\r\n  })();\r\n  <\/script>\r\n<\/div>\r\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>SLT \u2194 Local Time Converter Convert Second Life Time to your local time or popular world timezones instantly L$ Love our tools? Click to tip: OG.Resident SLT \u2194 Local Time Converter Convert Second Life Time to your local time or popular world timezones for events, sales, DJ sets, and releases. Local browser tool SLT to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":482,"parent":1613,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-6603","page","type-page","status-publish","has-post-thumbnail","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Second Life SLT \u2194 Local Time Converter - Alt Weekend Sales<\/title>\n<meta name=\"description\" content=\"Convert Second Life Time to your local time or popular world timezones instantly, with clear AM\/PM and 24-hour options for SL events, sales, and releases.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/altsl.com\/nl\/tools\/slt-local-time-converter\/\" \/>\n<meta property=\"og:locale\" content=\"nl_NL\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Second Life SLT \u2194 Local Time Converter - Alt Weekend Sales\" \/>\n<meta property=\"og:description\" content=\"Convert Second Life Time to your local time or popular world timezones instantly, with clear AM\/PM and 24-hour options for SL events, sales, and releases.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/altsl.com\/nl\/tools\/slt-local-time-converter\/\" \/>\n<meta property=\"og:site_name\" content=\"Alt Weekend Sales\" \/>\n<meta property=\"article:modified_time\" content=\"2026-05-20T14:01:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png\" \/>\n\t<meta property=\"og:image:width\" content=\"851\" \/>\n\t<meta property=\"og:image:height\" content=\"284\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Geschatte leestijd\" \/>\n\t<meta name=\"twitter:data1\" content=\"1 minuut\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/altsl.com\\\/tools\\\/slt-local-time-converter\\\/\",\"url\":\"https:\\\/\\\/altsl.com\\\/tools\\\/slt-local-time-converter\\\/\",\"name\":\"Second Life SLT \u2194 Local Time Converter - Alt Weekend Sales\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/altsl.com\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/altsl.com\\\/tools\\\/slt-local-time-converter\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/altsl.com\\\/tools\\\/slt-local-time-converter\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/altsl.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Alt_Banner.png\",\"datePublished\":\"2026-05-20T13:55:08+00:00\",\"dateModified\":\"2026-05-20T14:01:50+00:00\",\"description\":\"Convert Second Life Time to your local time or popular world timezones instantly, with clear AM\\\/PM and 24-hour options for SL events, sales, and releases.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/altsl.com\\\/tools\\\/slt-local-time-converter\\\/#breadcrumb\"},\"inLanguage\":\"nl-NL\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/altsl.com\\\/tools\\\/slt-local-time-converter\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/altsl.com\\\/tools\\\/slt-local-time-converter\\\/#primaryimage\",\"url\":\"https:\\\/\\\/altsl.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Alt_Banner.png\",\"contentUrl\":\"https:\\\/\\\/altsl.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Alt_Banner.png\",\"width\":851,\"height\":284},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/altsl.com\\\/tools\\\/slt-local-time-converter\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/altsl.com\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tools\",\"item\":\"https:\\\/\\\/altsl.com\\\/tools\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"SLT \u2194 Local Time Converter\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/altsl.com\\\/#website\",\"url\":\"https:\\\/\\\/altsl.com\\\/\",\"name\":\"Alt Weekend Sale\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\\\/\\\/altsl.com\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/altsl.com\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"nl-NL\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/altsl.com\\\/#organization\",\"name\":\"Alt Weekend Sale\",\"url\":\"https:\\\/\\\/altsl.com\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"nl-NL\",\"@id\":\"https:\\\/\\\/altsl.com\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/altsl.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/OBzIOE4.png\",\"contentUrl\":\"https:\\\/\\\/altsl.com\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/OBzIOE4.png\",\"width\":1024,\"height\":747,\"caption\":\"Alt Weekend Sale\"},\"image\":{\"@id\":\"https:\\\/\\\/altsl.com\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Second Life SLT \u2194 lokale tijd-converter - Alt Weekend Sales","description":"Zet Second Life Time direct om naar je lokale tijd of populaire wereldtijdzones, met duidelijke AM\/PM- en 24-uursopties voor SL-evenementen, verkopen en releases.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/altsl.com\/nl\/tools\/slt-local-time-converter\/","og_locale":"nl_NL","og_type":"article","og_title":"Second Life SLT \u2194 Local Time Converter - Alt Weekend Sales","og_description":"Convert Second Life Time to your local time or popular world timezones instantly, with clear AM\/PM and 24-hour options for SL events, sales, and releases.","og_url":"https:\/\/altsl.com\/nl\/tools\/slt-local-time-converter\/","og_site_name":"Alt Weekend Sales","article_modified_time":"2026-05-20T14:01:50+00:00","og_image":[{"width":851,"height":284,"url":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Geschatte leestijd":"1 minuut"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/altsl.com\/tools\/slt-local-time-converter\/","url":"https:\/\/altsl.com\/tools\/slt-local-time-converter\/","name":"Second Life SLT \u2194 lokale tijd-converter - Alt Weekend Sales","isPartOf":{"@id":"https:\/\/altsl.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/altsl.com\/tools\/slt-local-time-converter\/#primaryimage"},"image":{"@id":"https:\/\/altsl.com\/tools\/slt-local-time-converter\/#primaryimage"},"thumbnailUrl":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png","datePublished":"2026-05-20T13:55:08+00:00","dateModified":"2026-05-20T14:01:50+00:00","description":"Zet Second Life Time direct om naar je lokale tijd of populaire wereldtijdzones, met duidelijke AM\/PM- en 24-uursopties voor SL-evenementen, verkopen en releases.","breadcrumb":{"@id":"https:\/\/altsl.com\/tools\/slt-local-time-converter\/#breadcrumb"},"inLanguage":"nl-NL","potentialAction":[{"@type":"ReadAction","target":["https:\/\/altsl.com\/tools\/slt-local-time-converter\/"]}]},{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/altsl.com\/tools\/slt-local-time-converter\/#primaryimage","url":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png","contentUrl":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/Alt_Banner.png","width":851,"height":284},{"@type":"BreadcrumbList","@id":"https:\/\/altsl.com\/tools\/slt-local-time-converter\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/altsl.com\/"},{"@type":"ListItem","position":2,"name":"Tools","item":"https:\/\/altsl.com\/tools\/"},{"@type":"ListItem","position":3,"name":"SLT \u2194 Local Time Converter"}]},{"@type":"WebSite","@id":"https:\/\/altsl.com\/#website","url":"https:\/\/altsl.com\/","name":"Alt Weekend Sale","description":"","publisher":{"@id":"https:\/\/altsl.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/altsl.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"nl-NL"},{"@type":"Organization","@id":"https:\/\/altsl.com\/#organization","name":"Alt Weekend Sale","url":"https:\/\/altsl.com\/","logo":{"@type":"ImageObject","inLanguage":"nl-NL","@id":"https:\/\/altsl.com\/#\/schema\/logo\/image\/","url":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/OBzIOE4.png","contentUrl":"https:\/\/altsl.com\/wp-content\/uploads\/2025\/10\/OBzIOE4.png","width":1024,"height":747,"caption":"Alt Weekend Sale"},"image":{"@id":"https:\/\/altsl.com\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/pages\/6603","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/comments?post=6603"}],"version-history":[{"count":10,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/pages\/6603\/revisions"}],"predecessor-version":[{"id":6613,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/pages\/6603\/revisions\/6613"}],"up":[{"embeddable":true,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/pages\/1613"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/media\/482"}],"wp:attachment":[{"href":"https:\/\/altsl.com\/nl\/wp-json\/wp\/v2\/media?parent=6603"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}