Code Monkey home page Code Monkey logo

Comments (7)

rlanvin avatar rlanvin commented on August 28, 2024 1

Does this package support floating times for DTSTART?

Hi @chris-rs,

Yes! More info:

Feel free to close the ticket if that answered your question, or provide more details if something is not working for you.

from php-rrule.

chris-rs avatar chris-rs commented on August 28, 2024

Thanks @rlanvin for the fast and helpful response!
Is there a way to put the local datetime in the rrule without requiring the false argument (rfcString(false))?
I just tried:

$rule = new \RRule\RRule([
  'FREQ' => 'WEEKLY',
  'BYDAY' => ['MO','TU','WE','TH','FR','SA','SU'],
  'DTSTART' => Carbon::today()->setTime(10,0,0)->toDateTimeLocalString()
]);

But RRule still assigns Zulu timezone to DTSTART when I do $rule->rfcString()

from php-rrule.

rlanvin avatar rlanvin commented on August 28, 2024

Well no, the lib needs a timezone to perform the calculations. Besides, the results are returned as DateTime objects, which contain a timezone as well. There is no way to NOT have a timezone internally. So if you don't provide one, the current PHP default timezone will be used (in your case, your PHP is configured with UTC I guess).

What is the problem exactly with rfcString(false)?

from php-rrule.

chris-rs avatar chris-rs commented on August 28, 2024

@rlanvin events can be floating or bound to a timezone. So I should decide about the argument per event. The rfcString() is called just before the response is sent. I want to avoid putting logical rules at this place and keep this place solely responsible for generating output.

from php-rrule.

rlanvin avatar rlanvin commented on August 28, 2024

So if I understand your problem correctly, essentially you want to keep track of whether or not a particular instance was created with a "floating time" in order for rfcString() to behave differently when no argument is passed?

from php-rrule.

chris-rs avatar chris-rs commented on August 28, 2024

Yes, keeping track of floating times could be part of the RRule object since DTSTART is in a format with or without timezone info.
For now I solved it by keeping track of floating times in own Event object (which contains RRule).

from php-rrule.

rlanvin avatar rlanvin commented on August 28, 2024

I would have done the same, it's a good workaround. Leaving this ticket open, I'll see if I can add something in the lib itself.

from php-rrule.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.