How to get customer group collection in Magento 2?

In Magento 2 We can easily get customer group programmatically by using below code snippets. You are aware of How to create customer and new address programmatically in Magento 2

Below code snippets display all the customer group in the system,
Call groupCollectionFactory using __construct() in block file,

Call from template file,

The output will be look like,

ID 0 Code NOT LOGGED IN Tax class Id 3
ID 1 Code General Tax class Id 3
ID 2 Code Wholesale Tax class Id 3
ID 3 Code Retailer Tax class Id 3

How to get Current GMT date time in Magento 2?

You can get GMT Timezone in Magento by below code snippet,
Magento gives GMT timezone based on below function, Magento comes with DateTime php class, Magento\Framework\Stdlib\DateTime\DateTime is used for Forms GMT date.

Call from template file or php file by below way,

$dateModel = $this->dateTimeFactory->create();
echo $dateModel->gmtDate();

First Parameter is optional $format = null in gmtDate()
Default Format is Y-m-d H:i:s, You can add your time zone to convert normal timezone to GMT Timezone.

Result: 2018-09-09 11:22:49

How to add Index to table column using Magento 2?

You can create your column as index key for better performance and speedy retrieval of data from a table.

An index is a performance optimization feature that enables data to be accessed faster compare to other nonindex columns. An index is used to more quickly find rows in the table based on the values which are part of the index and they don’t define the uniqueness of a column.

You can add your column as Index key using Magento 2 by below way using InstallSchema or UpgradeSchema.php file,

Here table_name is your table name of database and table_field is your field which you want to create index key.
You can check blog for Add foreign key to table, Add Foreign key to table using Magento 2