To position the content of the column div you can use the responsive versions of justify-content-* class with d-flex
<div class="row">
<div class="col-md-4 d-flex justify-content-md-end justify-content-center">
Email
</div>
</div>
Just add the classes d-flex to display flex and justify-content-md-end to align at the end of the column for display md and upwards and justify-content-center to align to center for display xs and upwards.
Demo
Answer from Shiblu on Stack OverflowVideos
The day-block class make the <div class="day-block"> element a flex row container.
That makes the <div class="d-flex flex-wrap justify-content-between align-self-start"> element a flex row item, and a flex row item's default flex shorthand property is 0 1 auto, which mean it is sized by its content, hence the justify-content-between has no effect.
For justify-content-between to have an effect, add e.g. the built in col class, which change the flex-grow to 1, and with that make the flex row item fill its parent's width.
Note, since col also has padding, I added a custom class to remove it.
Stack snippet
.day-block {
flex-basis: 49%;
padding: 5px;
margin: .5%;
-webkit-box-shadow: 0px 2px 4px 0px #e4e4e4;
box-shadow: 0px 2px 4px 0px #e4e4e4;
min-height: 150px;
display: flex;
flex-wrap: wrap;
font: 13px Verdana;
}
.day-block .col {
padding: 0; /* if you don't want padding, keep this rule */
}
.day-block p {
margin: 5px 0 0;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">
<div class="d-flex flex-wrap">
<div class="day-block">
<!-- added here ⇩ -->
<div class="col d-flex flex-wrap justify-content-between align-self-start">
<div class="day-number">01</div>
<button class="btn-add-plan">+ Add Plan</button>
</div>
<div class="align-self-end">
<div class="added-plan-wrap">
<p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
</div>
</div>
</div>
<div class=" day-block d-flex flex-wrap"></div>
<div class=" day-block d-flex flex-wrap"></div>
<div class=" day-block d-flex flex-wrap"></div>
</div>
An alternative to the col (since it has padding's), could be a custom flex-grow class:
.flex-grow {
flex-grow: 1;
}
Stack snippet
.day-block {
flex-basis: 49%;
padding: 5px;
margin: .5%;
-webkit-box-shadow: 0px 2px 4px 0px #e4e4e4;
box-shadow: 0px 2px 4px 0px #e4e4e4;
min-height: 150px;
display: flex;
flex-wrap: wrap;
font: 13px Verdana;
}
.flex-grow {
flex-grow: 1;
}
.day-block p {
margin: 5px 0 0;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">
<div class="d-flex flex-wrap">
<div class="day-block">
<!-- added here ⇩ -->
<div class="flex-grow d-flex flex-wrap justify-content-between align-self-start">
<div class="day-number">01</div>
<button class="btn-add-plan">+ Add Plan</button>
</div>
<div class="align-self-end">
<div class="added-plan-wrap">
<p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
<p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
</div>
</div>
</div>
<div class=" day-block d-flex flex-wrap"></div>
<div class=" day-block d-flex flex-wrap"></div>
<div class=" day-block d-flex flex-wrap"></div>
</div>
Answer to the bolded question: Yes, unlike Bootstrap 3, Bootstrap 4 allows you to get done almost anything you'll ever need using the native Bootstrap 4 classes alone without ever touching css.
Regarding the rest of the question:
The following code does exactly what you're asking for without any custom css:
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">
<div class="container">
<div class="row mt-4">
<div class="col">
<div class="d-flex flex-wrap">
<div class="day-block">
<div class="d-flex flex-wrap justify-content-between align-self-start">
<div class="day-number">01</div>
<button class="btn-add-plan">+ Add Plan</button>
</div>
<div class="align-self-end">
<div class="added-plan-wrap">
<p class="mb-3">Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p> <!-- class "mb" is margin bottom; choose a value between 0 and 5 -->
<p>Lorem ipsum dolor sit amet Lorem ipsum dolor sit amet</p>
</div>
</div>
</div>
<div class=" day-block d-flex flex-wrap"></div>
<div class=" day-block d-flex flex-wrap"></div>
<div class=" day-block d-flex flex-wrap"></div>
</div>
</div>
</div>
</div>
Note the use of the mb-3 class for margin bottom of the first paragraph.
Also note: The only thing I did is to use your code (inside a container-row-column structure) without your css. The alignment is exactly as you wish.