Question

Hi all,

So I'm scratching my head here... British Summer Time runs from the last Sunday of March til the last Sunday of October. My JS-skills are not uber-fantastic.

I don't suppose any of you have a pre-written function (or feel like having a go at writing a function) to get the user's current date, check if it's between the 2 above dates, and return 0 or 1?

I'm struggling here, and it'd be a huge help if someone could point me to a relevant link or an even bigger help if somebody feels like writing a quick function for me!

Thanks guys! :)

8 answers to this question

Recommended Posts

  • 0

You can use the getTimezoneOffset() function in Javascript to determine what you need. The first line below gets the user's current date, the second line gets how offset they are to the current GMT :)

var d = new Date();

var offset = d.getTimezoneOffset();

  • 0

Thanks for that, but that's not what I asked for ;)

The user could be 8 hours behind, 6 hours ahead, on GMT, I don't really care... I just need to know whether BST is in effect.

I'm almost done writing a Wordpress plugin, so I guess I'll have to have another go at writing this function myself when it's the last thing left to do...

  • 0
  On 07/10/2011 at 12:24, TheLegendOfMart said:

Yes it is till Oct 30th 2am where the clocks will go back an hour.

LOL ... he read the title and not the question ;)

Try this:-

function dateWithin(beginDate,endDate,checkDate) {

var b,e,c;

b = Date.parse(beginDate);

e = Date.parse(endDate);

c = Date.parse(checkDate);

if((c <= e && c >= b)) {

return true;

}

return false;

}

You just need to hard code the start & end dates for BST.

  • 0
  Quote
You just need to hard code the start & end dates for BST.

Exactly, that's where I got stuck last time! :p There is no 'hard coded date' for when BST starts or ends. It's the last Sunday of March til the last Sunday of October :p

Thanks though, I appreciate the effort!

Edit: I think this is going to help me (merged with the above code), having a little go of it now: http://www.irt.org/articles/js050/

Edit 2: Actually, that isn't all of the code. The author's referencing numerous other bits of code, and some of it doesn't exist... i.e. that link doesn't give a complete working function.... I'm on the right lines though now at least!

  • 0

Well in the end, I just sent the finished plugin to my client using GMT times. It's what he requested after all! No doubt he'll come back to me complaining that he needs support for BST added, and sadly, the bit of code it affects must be written in JS, and I don't like JS :p

Oh well, cheers for the help though guys! If anyone has a working solution though, feel free to post it up... and if my client comes back and moans, then I'll post the working solution here for everyone too! :)

  • 0

This any help ?

http://www.michaelapproved.com/articles/daylight-saving-time-dst-detect/

To be honest, I'd do it server side, but then I have the luxury of having my own server and BST is automatically set and the server clock is set to GMT or BST accordingly, I assume you can't do this using PHP/ASP etc?

  • 0

Well as expected, my client eventually came back and asked for BST support to be added. So I went ahead and wrote the function. Feel free to scavenge, rip apart etc :)



<script>

/*
A function that determines whether BST is currently in effect in London,
based on the date on the user's PC, but regardless of whether the user
is in London, or somewhere else. BST runs between the last Sunday of
March, and the last Sunday of October, with a varying date each year.
*/
function isBSTinEffect()
{
var d = new Date();

// Loop over the 31 days of March for the current year
for(var i=31; i>0; i--)
{
var tmp = new Date(d.getFullYear(), 2, i);

// If it's Sunday
if(tmp.getDay() == 0)
{
// last Sunday of March
lSoM = tmp;

// And stop the loop
break;
}
}

// Loop over the 31 days of October for the current year
for(var i=31; i>0; i--)
{
var tmp = new Date(d.getFullYear(), 9, i);

// If it's Sunday
if(tmp.getDay() == 0)
{
// last Sunday of October
lSoO = tmp;

// And stop the loop
break;
}
}

// 0 = DST off (GMT)
// 1 = DST on (BST)
if(d < lSoM || d > lSoO) return 0;
else return 1;
}

alert(isBSTinEffect());
</script>
[/CODE]

This topic is now closed to further replies.
  • Posts

    • I own one somewhere and even got the email from Amazon letting me know about the recall but not sure I'll be able to find it. Haven't seen it in months.
    • Steam games now detail what accessibility features they offer on store pages by Pulasthi Ariyasinghe Valve has pushed a new update for its Steam platform, and it's fully focused on accessibility. The latest change makes it both easier for developers to show what accessibility options they offer within their games and for players to find options they require to enjoy titles. "This update comes after gathering valuable feedback from developers as well as players with disabilities," says Valve in the announcement blog post. "Over 5,000 applications have added details about their accessibility support, with more developers updating their games each day." Here are the options currently offered by Valve: Gameplay: Adjustable Difficulty: Players can adjust gameplay difficulty. Save Anytime: Players can save gameplay using both automatic and manual saves. Saving can be performed at any point in the game. Audio: Custom Volume Controls: Players can adjust the volume of the audio. Different types of audio can be muted independently from each other. Narrated Game Menus: Players can listen to game menus with narrated audio. Stereo Sound: Players can identify how far to the left or right sounds are coming from. Surround Sound: Players can identify how far in any direction sounds are coming from. Visual: Adjustable Text Size: Players can adjust text size. (In-game text, menu text, character dialog text, subtitle text) Subtitle Options: Players have options to customize the display of subtitles for all spoken content and essential audio information. Color Alternatives: Gameplay doesn't rely on colors to communicate important information, or players have an option to adjust colors used for distinguishing information. Camera Comfort: Players have an option to adjust or disable uncomfortable camera movement such as screen shaking, camera bob, or motion blur, or the game doesn't feature these effects. Input: Keyboard Only Option: Players can play the game with just a keyboard and no other additional input mechanisms such as a mouse or controller. Mouse Only Option: Players can play the game with just a mouse and no other additional input mechanisms such as a keyboard or controller. Touch Only Option: Players can play the game with just touch controls and no other additional input mechanisms such as a mouse, keyboard or controller. Playable without Timed Input: Players have an option to adjust gameplay to not require precisely timed button presses ("quick time events") or gameplay does not require such button presses. Text-to-speech: Text chat can be narrated out loud in real time. Speech-to-text communications: Voice chat can be read as a text transcript in real time. These can be found when searching in the filters as well as inside games' store pages in the features section on the right side, as seen in the screenshot above. While developers are not required to mention accessibility options of their games on store pages, Valve says it is highly recommended to make sure players that require it can find relevant games more easily. "We've worked to make it as easy as possible for developers to indicate these features are available by using feedback to standardize these options as much as possible," added the company.
    • They have a concept of a plan. How fitting.
    • As Total War turns 25, Creative Assembly is teasing a "new era" for the strategy franchise by Pulasthi Ariyasinghe Creative Assembly has now officially been making Total War games for 25 years. It was in June 2000 that the UK-based studio put forth Shogun: Total War for PC, with Electronic Arts publishing the ambitious project. With a quarter of a century now behind the series, the developer is now looking towards the "next era" of Total War. The studio will host its first-ever Total War showcase in December 2025, which is described as a "flagship video presentation unveiling what’s next for the franchise." Creative Assembly said that the showcase will have announcements for new games as well as content for existing titles, with developer commentary also happening regarding the future of the series. "We’re honoured and humbled to be one of the few video games that get the chance to celebrate such a huge milestone, and we want to thank colleagues past and present, as well as our fans for all the support," says Total War vice president Roger Collum. "2025 marks an exciting new era for the franchise as we reveal what’s next for Total War, and we can’t wait to celebrate throughout the year with everyone." Read an anniversary letter from Roger Collum regarding the studio's history, Total War beginnings, and more over here. Prior to the showcase, Creative Assembly will be hosting retrospective video interviews, developer livestreams, and more behind-the-scenes content regarding the series starting this August. There will also be multiplayer tournaments for fans, giveaways, Q&A sessions with developers, mod spotlights, and more events happening during this period. As the studio celebrates the occasion, a massive Total War historical games sale has just gone live on Steam. This has discounts of up to 75% across everything from the original Shogun: Total War to the latest entry, Total War: PHARAOH. The discounts will last until June 26.
    • ANY standard Windows PC, either desktop or laptop, can install the Copilot app, period, no NPU or Copilot+ certification required. I should know, I have it running on a 3770K (2011) Windows 11 PC and works perfectly fine. So, your laptop can definitely run it, too.
  • Recent Achievements

    • One Month Later
      POR2GAL4EVER earned a badge
      One Month Later
    • One Year In
      Orpheus13 earned a badge
      One Year In
    • One Month Later
      Orpheus13 earned a badge
      One Month Later
    • Week One Done
      Orpheus13 earned a badge
      Week One Done
    • Week One Done
      serfegyed earned a badge
      Week One Done
  • Popular Contributors

    1. 1
      +primortal
      539
    2. 2
      ATLien_0
      251
    3. 3
      +Edouard
      163
    4. 4
      +FloatingFatMan
      159
    5. 5
      Michael Scrip
      110
  • Tell a friend

    Love Neowin? Tell a friend!