Date time format 3 time zone future event

I am looking for a way to set date to X so NOT current date,
and then display 2 more time zones, one is X +6 another X +8.

I understand I can do this with current time, but let's say I want to talk about
a future event starting at x time in zone 1, X+6 in zone 2 and X+8 in zone 3.

Is there a way that I can input X time and the other 2 would automatically be calculated from formula and display correct values?

I was unable to find instructions for this specific situation. Appreciate all replies, thank you.

For example this is close to the desired result. Unfortunately h-8 just displays current time in hours and -8 next to it.

{formtext: name=Timezone3; default={time: h-8:mm A}}

shift=-8h would change to show CURRENT time, can this be modified to show X time?

Hi @Zita_Daniel_Nad,

Here's one way to do it:

{note}
{zones=seq(-10, 10)}
Appointment date: {formdate: YYYY-MM-DD; name=date} at {formtext: name=hours; default=08; cols=3} {formtext: name=minutes; cols=3; default=00}
Timezone: {formmenu: name=timezone; cols=6; values={=zones}}

{endnote: trim=right}

Your appointment is set for {time: MMMM Do, YYYY [at] h:mma [(your time)]; at={=date} {=hours}:{=minutes}; pattern=YYYY-MM-DD HH:mm; shift={=timezone}h}

Quick explanation:

  • Here {zones=seq(-10, 10)} I'm setting the range of timezones.
  • I'm using the formdate date picker command to choose the date, and then using formtext commands for picking the time
  • Next, I'm using a formmenu command to pick the desired timezone. Note that I'm using the values from the variable named zones that I set up earlier. Much easier than entering them one by one.
  • Finally, I'm using a time command, with an at setting where I get the data from the date, hours and minutes variables that I defined earlier, than then using the timezone variable with the shift setting to define the time shift. Note that, since we're dealing with both date and time together, if the timezone shift goes past midnight, this will accurately be reflected in the date.

Of course, feel free to change the date/time format in the final time command to suit your needs.

If you need help with that, let me know.

On a final note, you don't necessarily need to use the timezone sequence I used earlier. If you want, you could just use a few handpicked ones. Just replace the command as follows:

{zones=[-2, 0, 3, 5, 9]} << changed this
Appointment date: {formdate: YYYY-MM-DD; name=date} at {formtext: name=hours; default=08; cols=3} {formtext: name=minutes; cols=3; default=00}
Timezone: {formmenu: name=timezone; cols=6; values={=zones}}

{endnote: trim=right}

Your appointment is set for {time: MMMM Do, YYYY [at] h:mma [(your time)]; at={=date} {=hours}:{=minutes}; pattern=YYYY-MM-DD HH:mm; shift={=timezone}h}

Hope this helps :slight_smile:

1 Like

THANK YOU

This is really good, BUT

Can I have 3 of these in same textblaze, so the first to display event in my time zone, let's set this to UTC, second in EST and thrird in PST?
So something like

The meeting is at :
8 am UTC
3 am EST
1 am PST

{note}
{zones=["UTC":0, "EST":-5, "PST":-7]}
Appointment date: {formdate: YYYY-MM-DD; name=date} at {formtext: name=hours; default=08; cols=3} {formtext: name=minutes; cols=3; default=00} UTC

{endnote: trim=right}

Your appointment is set for:
{repeat: for zone in zones; trim=right}
{time: MMMM Do, YYYY [at] h:mma; at={=date} {=hours}:{=minutes}; pattern=YYYY-MM-DD HH:mm; shift={=zones[zone]}h} {=zone}
{endrepeat}

OR

Your appointment is set for:

{time: MMMM Do, YYYY [at] h:mma; at={=date} {=hours}:{=minutes}; pattern=YYYY-MM-DD HH:mm; shift={=zones.UTC}h} UTC
{time: MMMM Do, YYYY [at] h:mma; at={=date} {=hours}:{=minutes}; pattern=YYYY-MM-DD HH:mm; shift={=zones.EST}h} EST
{time: MMMM Do, YYYY [at] h:mma; at={=date} {=hours}:{=minutes}; pattern=YYYY-MM-DD HH:mm; shift={=zones.PST}h} PST

Would this work for you?

1 Like

ABSOLUTELY

Thank you sooo much!!

@Zita_Daniel_Nad - Don't thank me just yet... once you start digging deeper into Text Blaze, you'll fall into a loooong rabbit hole and will never want to get back out :rofl:

Seriously though, look around the forums. You'll love some of the amazing stuff your fellow users are doing with Text Blaze. And if you ever have any questions, don't hesitate to ask me. I'm always happy to help you get your Text Blaze fix :grin:

Just aborted digging, bcs I did not ask exactly what I need in order to "figure it out", ...

@Zita_Daniel_Nad - that's perfectly fine. As I said, I'm always happy to answer questions and help in any way I can. Just saying that it's a lot of fun to dig around in Text Blaze and discover new ways of saving time.

The important thing is, even if the task you want to achieve seems outlandish or improbable, ask me anyway, because there's a chance Text Blaze can do it.

Looking forward to more of your questions :slight_smile:

Thanks and you were right the mjore you use it the more you love it! Great tool.

1 Like

Hi
I'm still very new to this, can anyone help me create input PST current time. I need to attach it to a tag.
Name - DATE - TIME(PST)
I'm in eastern time zone.

Thank you
Ellen

Hi @Ellen_Garner and welcome to the forum.

If I'm not mistaken, there is a 3 hour difference between Eastern and Pacific time.

So in your case, it could be something like this:

{note}
Ellen's time: {formdate: YYYY-MM-DD; name=date} at {formtext: name=hours; default=08; cols=3} {formtext: name=minutes; cols=3; default=00} EST/EDT

{endnote: trim=right}

Name: {formtext}
Date: {time: MMMM Do, YYYY [\nTime: ] h:mma; at={=date} {=hours}:{=minutes}; pattern=YYYY-MM-DD HH:mm; shift=-3h} PST/PDT

Would that work for you?

Hi Thank you for the response so quickly.

I am sorry, I am so new to this. I'm don't quite understand what would need to be used to create that.

Here is a little bit more information on how I will be using it. Its for a signature used at work and currently includes {time: MM.DD.YYYY}, How do I combine both formulas so that the results includes the times PST.

Normal:
CRC/ellegarn/09.16.2021
{time: MM.DD.YYYY}

but for certain things I need to include time stamp in PST.

CRC/ellegarn/09.16.2021/04:27 PM PST

No worries @Ellen_Garner, this is a place to ask any kind of question :slight_smile:

If you're in Eastern time and you need Pacific time, you need to use the shift setting. Let's walk through it one step at a time.

This is your current time: {time: HH:mm}
This is one hour before your current time: {time: HH:mm; shift=-1h}
This is three hours before your current time: {time: HH:mm; shift=-3h}
This is one hour after your current time: {time: HH:mm; shift=1h}
This is three hours after your current time: {time: HH:mm; shift=3h}

If you only need the shift to be in relation to the time when you're inserting the snippet, then that's the way you do it.

BUT, if you need the shift to be in relation to a specific time, then you'll need to something a bit more elaborate, which is what I gave you in the earlier post.

1 Like

Thank you! That is awesome! Perfect.

1 Like

@Ellen_Garner — Good to hear.

If you want, we can take it a step further:

{note: preview=no}
{measures=["hours":"h", "minutes":"m", "days":"D", "months":"M", "years":"Y"]}

{endnote}
{note}
Chosen date & time: {formdate: YYYY-MM-DD; name=date} at {formtext: name=hours; default=8; cols=3} {formtext: name=minutes; cols=3; default=00} {formmenu: name=ampm; cols=6; am; pm}

Shift to {formtext: name=amount; cols=5; default=0} {formmenu: name=measure; cols=10; values={=keys(measures)}} {formmenu: name=earlierlater; cols=8; earlier; later}

{endnote: trim=right}

Name: {formtext}
New Date: {time: MMMM Do, YYYY [\n New Time: ] h:mma; at={=date} {=hours}:{=minutes} {=ampm}; pattern=YYYY-MM-DD h:mm a; shift={="-" if earlierlater=="earlier" else "+"}{=0 if isnumber(amount) == no else amount}{=measures[measure]}}

We could make it even more complex if need be, making it possible to shift by minutes plus hours plus days etc.

This snippet is probably overkill for you, but I made it just to give you an idea of what's possible :slight_smile:

Hi everyone, this is a great idea, but I have a question, how can I replace time zone (-1,0,1,2,3 etc.) with name of a country, for example Turkey is 3, Brazil is - 3.
The reason I ask is because I tried to do it with the previously suggested snippet in this thread, and it doesn't work for me unfortunately
image
I have the following error:
image
image
Can you help me with this?

Hey @StarChronicles ! Looks like the snippet above was not working. I have fixed it now. Can you please try again?

For context, these snippets used to work when they were posted originally. Recently, we had switched the syntax for keyed lists, from ["a"="b"] to ["a":"b"]. We fixed many snippets to accommodate the new syntax, but looks like we had missed this one.

Hey @Gaurang_Tandon, I didn't know this, thanks for your help, it seem the previous snippet is working indeed now. However I am not able to create my own, specifically I want to select the time zone and calculate the difference between chosen time and time in the specific country. But I want my dropdown menu to consist of names of countries, not just sequence of timezones (-10 to 10). The error says " "values" should not have named elements" - does this mean that I won't be able to do this? or is there other way?

Here is my snippet:

{zones=["UTC":0, "EST":-5, "PST":-7]}
Appointment date: {formdate: YYYY-MM-DD; name=date} at {formtext: name=hours; default=08; cols=3} {formtext: name=minutes; cols=3; default=00}
Timezone: {formmenu: name=timezone; cols=6; values={=zones}}

{endnote: trim=right}

Your appointment is set for {time: MMMM Do, YYYY [at] h:mma [(your time)]; at={=date} {=hours}:{=minutes}; pattern=YYYY-MM-DD HH:mm; shift={=timezone}h}

You're quite close to the solution :slightly_smiling_face: Here's the fixed version:

{note}{zones=["UTC":0, "EST":-5, "PST":-7]}
Appointment date: {formdate: YYYY-MM-DD; name=date} at {formtext: name=hours; default=08; cols=3} {formtext: name=minutes; cols=3; default=00}
Timezone: {formmenu: name=timezone; cols=6; values={=keys(zones)}}

{endnote: trim=right}

Your appointment is set for {time: MMMM Do, YYYY [at] h:mma [(your time)]; at={=date} {=hours}:{=minutes}; pattern=YYYY-MM-DD HH:mm; shift={=zones[timezone]}h}

The values for formmenu need to be a list of strings, so I have used keys(zones). As an example: keys(["UTC":0, "EST":-5, "PST":-7]) outputs ["UTC', "EST", "PST"]. You can check this here: Text Blaze | Formula Reference

Secondly, the shift parameter needs to be {=zones[timezone]}h. {=timezone}h would be PSTh, whereas we want -7h (indicating seven hours behind)

1 Like