Question: I'm creating dates from strings with the format 'yyyy-MM-dd' but they're always created on the previous day for some reason. If I set the date as '2012-10-31' the Date object with actually be 30 of October and not 31. For example, this:

```
var d1=new Date('2012-10-31');

```

Will output this: 

```
Tue Oct 30 2012 19:30:00 GMT-0430 (Venezuela Standard Time)

```

Can someone explain why this happens?

Answer: 
Both are valid approaches. I tend to favour the first option, because it allows better modularity and quite clear boundaries for high level BC. The second option is the 'standard' way of doing this, it favours let's say a more technical layering, while the first option literally favours a more domain driven layering.

Choose the one you feel more comfortable with.
do as you see fit. Each bounded context will have a different domain and surely a different application layer, but we may imagine a common Infrastructure layer ou presentation layer. It really depends on your architectural choices, and on the application you are trying to build.

If you want a more precise answer, add some material to your question, so that we can get your context and your problematic.